2009-03-03 11 views
0

Ich habe folgendes Obj C-Funktion, die ordnungsgemäß funktioniert: eine UIImage die Kompilierung fehl mit image1 unbekannt seinObjective C Anwendungsbereich Problem

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

    return myString;   
} 

Allerdings, wenn ich Code hinzufügen zu aktualisieren. image1 ist gültig: es ist in der .h, synthetisiert und diese genaue Codezeile funktioniert in einer Methode unterhalb dieser Funktion. Nur wenn ich die Codezeile zu dieser Funktion verschiebe, schlägt sie fehl.

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

Sollte image1 nicht innerhalb dieser bestimmten .m-Datei erkannt werden?

Antwort

8

myfunc ist hier eine C-Style-Funktion, keine Objective-C-Methode in Ihrem Klassenbereich, sodass Sie Ihre Instanzvariable image1 nicht sehen können.

wollen Sie es als eine Methode deklarieren:

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