Объективная проблема С - PullRequest
       20

Объективная проблема С

0 голосов
/ 03 марта 2009

У меня есть следующая функция 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;        
 }

Разве изображение1 не должно быть распознано в этом конкретном файле .m?

1 Ответ

8 голосов
/ 03 марта 2009

myfunc здесь функция в стиле C, а не метод Objective-C в области видимости вашего класса, поэтому вы не можете видеть переменную вашего экземпляра image1.

вы хотите объявить его как метод:

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