iOS開発:”Expression is not assignable.”エラー
iOSで開発をしていると、たまに”Expression is not assignable.”エラーに遭遇する。例えば、こんなコード。
[c]
CGSize size;
self.myLabel.frame.size.height = size.height;
[/c]
訳の分からないエラーで泣きそうになったが、「うたブログ~情報編: Xcode;Expression is no assignable」を見て、ようやく理解。
「myLabel.frame」はプロパティへのアクセスで、「frame.size」は構造体メンバへのアクセス。これを混ぜているからエラーとなっている。
ということで、プロパティと構造体の箇所を分けてしまえばOK。
[c]
CGSize size;
CGRect frame = self.myLabel.frame;
frame.size.height = size.height;
[/c]
投稿日 2012年08月14日