0

我有以下正常工作的 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;        
 }

不应该在这个特定的 .m 文件中的任何地方识别 image1 吗?

4

1 回答 1

8

myfunc这里是 C 风格的函数,而不是类范围内的 Objective-C 方法,所以你看不到你的实例变量 image1。

您想将其声明为方法:

- (NSString *)myFuncWithParam:(int)x
{
  ...
} 
于 2009-03-03T17:39:21.883 回答