適切に動作する次の Obj C 関数があります。
NSString* myfunc( int x )
{
NSString *myString = @"MYDATA";
return myString;
}
ただし、UIImage を更新するコードを追加すると、image1 が不明でコンパイルが失敗します。image1 は有効です。これは .h で設定され、合成されており、正確なコード行がこの関数の下のメソッドで機能します。コード行をこの関数まで移動した場合にのみ、失敗します。
NSString* myfunc( int x )
{
NSString *myString = @"MYDATA";
image1.image = [UIImage imageNamed:@"image1.png"]; // fails to compile
return myString;
}
image1 は、この特定の .m ファイル内のどこでも認識されるべきではありませんか?