2009-03-03 15 views
0

は、私が正常に動作し、次のOBJのC関数を持っている:私はUIImageを更新するためのコードを追加した場合Objective Cのスコープの問題

NSString* myfunc(int x) 
{ 
    NSString *myString = @"MYDATA"; 

    return myString;   
} 

はしかし、コンパイルは画像1が不明であることで失敗します。 image1は有効です:これは合成された.hで設定され、コードの正確な行はこの関数の下のメソッドで で動作します。この関数にコードの行を移動するときだけ、それは失敗します。

NSString* myfunc(int x) 
{ 
    NSString *myString = @"MYDATA"; 
    image1.image = [UIImage imageNamed:@"image1.png"]; // fails to compile 
    return myString;   
} 

この特定の.mファイル内の任意の場所でimage1を認識できませんか?

答えて

8

myfuncはクラススコープのObjective-Cメソッドではないので、インスタンス変数image1は表示されません。あなたはメソッドとしてそれを宣言したい

- (NSString *)myFuncWithParam:(int)x 
{ 
    ... 
}