Objective c 如何正确查看NSTextField中的数据?
嗨,我最近完成了一本关于objective c基础知识的教程。现在我正在“尝试”制作一个简单的应用程序。现在我似乎有最简单的问题,我似乎无法解决,也许你可以告诉我我做错了什么 AppDelegate.h 我似乎遇到的问题是,生成将失败,并在AppDelegate.m中的这一行上给我一条错误消息:Objective c 如何正确查看NSTextField中的数据?,objective-c,nstextfield,Objective C,Nstextfield,嗨,我最近完成了一本关于objective c基础知识的教程。现在我正在“尝试”制作一个简单的应用程序。现在我似乎有最简单的问题,我似乎无法解决,也许你可以告诉我我做错了什么 AppDelegate.h 我似乎遇到的问题是,生成将失败,并在AppDelegate.m中的这一行上给我一条错误消息: NSLog(@"%@", foodName.stringValue); 错误消息是:使用未声明的标识符“foodName”;你是说“食物名”吗 有人能解释一下发生了什么以及我如何克服这个问题吗
NSLog(@"%@", foodName.stringValue);
错误消息是:使用未声明的标识符“foodName”;你是说“食物名”吗
有人能解释一下发生了什么以及我如何克服这个问题吗?要解决getter方法,请使用self。
:
NSLog(@"%@", self.foodName.stringValue);
还有一个小问题:在@interface
语句的开头,将所有@property
声明组合在一起,但在任何实例变量声明之后:
@interface MyClass : NSObject {
NSString *_str1;
int _i1;
}
@property (weak) IBOutlet NSString *something;
@property (strong, readonly) NSNumber *somethingElse;
- (int)aMethod:(NSString *)string;
- (void)anotherMethod;
@end
感谢您的快速回复,奇怪的是为什么它需要self?@Mutch95您使用的是自动生成的实例变量,默认情况下,实例变量是
\u foodName
(正如您发布的编译器错误所暗示的)。要访问方法(即getter和setter),您始终需要一个对象实例(self
,在本例中为self.foodName
或[self-foodName]
或[self-setFoodName:
)。
NSLog(@"%@", self.foodName.stringValue);
@interface MyClass : NSObject {
NSString *_str1;
int _i1;
}
@property (weak) IBOutlet NSString *something;
@property (strong, readonly) NSNumber *somethingElse;
- (int)aMethod:(NSString *)string;
- (void)anotherMethod;
@end