if条件によって異なる言語を表示する文字列プロパティを持つことを試みました。最後の文はエラーを表示します!メンバーの値を取得するにはどうすればよいですか?スウィフト、どうすればプロパティを取得できますか?
struct EN {
let hello = "Hello!"
}
struct CN {
let hello = "Hi!"
}
var stringObj:Any?
var language = "CN"
if language == "EN" {
stringObj = EN()
}
if language == "CN" {
stringObj = CN()
}
print(stringObj!) // "CN(hello: "Hi!")\n" on playground
print(stringObj!.hello) // error! has no member "hello"
あなたstringObjは任意のタイプである...どれ? helloプロパティを持っていません...あなたのObjectをキャストする必要があります。または、あなたのhelloをサポートするスーパークラスとしてプロトコルを使用してください。 –
@LeoDabus彼は本当にここで共通のプロトコルを定義する必要があります。 Palleの答えを参照してください... –
私は彼がNSLocalizedStringを使うべきだと思います。ホイールを再構築する必要はありません。 –