将消息发送到在Interface Builder中创建的对象

问题描述:

我对Cocoa,Objective-C和OOP一般都很陌生。我每天都在学习。据“可可规划为Mac OS X的傻瓜”,你可以像这样在Xcode中创建一个对象:将消息发送到在Interface Builder中创建的对象

myObject = [[Class_name alloc] init];

之后,你就可以根据Class_name decladed的方法来发送消息。到现在为止还挺好。但昨天我跟着这个教程:Intro to Bindings,并注意到一些奇怪的事情。根据本教程,您必须在Interface Builder中创建一个NSArrayController对象。但是如果你想向控制器管理的数组添加一行,使用值来表示几个NSTextFields,你需要调用它的AddObject方法,但是如何?我不知道对象名称或标识符,对吗?

只需创建一个出口

IBOutlet NSArrayController *arrayController; 

并连接到arrayController它IB; 致电其方法使用[arrayController methodName];

+0

是的,我知道,但我想从代码做到这一点。因为通过这种方式(调用Add:方法),我的数组中有一个空行。我想用几个TextFields的内容来填充它,或者我错过了什么? – Joran 2011-06-14 08:59:33

+0

如果我是正确的,你绑定到数组控制器的集合视图(或其他东西)不会更新它的内容。如果是这样,阅读KVO指南[链接](http://developer.apple.com/library/mac/#featuredarticles/KeyValueObserving_QuickStart/Introduction/Introduction.html) – VenoMKO 2011-06-14 09:38:09

+0

呃,没有那不正是发生了什么事情。我需要向数组添加一行。显然,这样做的方法是通过调用数组控制器的addObject方法。数组控制器自动更新tableView。但是,如何从代码中调用此方法?我可以在Interface Builder中完成,但是只添加了一个空行。我想用一张表格来输入一些内容,并将这些值用于新行。 – Joran 2011-06-14 17:56:37