我在我的示例应用程序中做以下事情:
我创建了一个模型类并在其中声明了一个数组作为属性。
@interface MyModel : NSObject
@property (strong, readwrite) NSArray *charactersToDisplay;
@end
在我的应用委托类中,我将 MyModel 声明为一个属性。
@interface MyAppDelegate : NSObject <NSApplicationDelegate>
@property (strong, readwrite) MyModel *myModel;
@property (weak) IBOutlet NSObjectController *myModelController;
- (IBAction)test:(id)sender;
@end
在 MainMenu.xib 中,我拖放了一个对象控制器对象,并在 MyAppDelegate 中将其绑定到 myModel。
我正在努力实现以下目标:
我在 MyAppDelegateChange 中定义了一个动作测试:它绑定到一个按钮,并尝试更改 charactersToDisplay 中的值。
问题是:
当我使用此代码时,它不起作用:
[self.myModel setCharactersToDisplay:[[NSArray alloc] initWithObjects:@"1",@"2", @"3", "@4", @"5", nil]];
但是,如果我尝试使用以下代码通过对象控制器更改其值,它正在工作:
[[self.myModelController content] setCharactersToDisplay:[[NSArray alloc] initWithObjects:@"1",@"2", @"3", "@4", @"5", nil]];
谁能建议我 - 为什么当我尝试通过调用 myModel 上的 setter 方法直接更改值时它不起作用?