关于实例化对象的问题

Axw*_*ack 2 objective-c

我是Objective C和Cocoa的新手.真的不喜欢语法,因为我来自Java和C#.我正在尝试做一些简单的事情,我收到以下错误:

我在使用中导入它

#import "Defaults.h"

-(void) awakeFromNib{
            Defaults *theDefaults = [[Defaults alloc] init];
}

-(IBAction) addPlanets:(id)sender{

[theDefaults setValue:[planetsButton titleOfSelectedItem] forKey:@"planets"];
NSLog([planetsButton titleOfSelectedItem]);
}
Run Code Online (Sandbox Code Playgroud)

我得到的错误是

未知接收者的默认; 你的意思是"默认"吗?

有人可以帮我解决这个问题吗?

Car*_*rum 5

theDefaults在范围内不存在addPlanets:.您需要将其设置为全局变量或实例变量,而不是将其创建awakeFromNib并立即泄漏.

  • 顺便说一句,在Java和C#中就是这种情况.局部变量不会神奇地渗透方法边界. (2认同)