我在我的CoreData的应用程序创建了一些属性的实体。试想一个的tableview和约束NSArrayController的。与这两个我创建(和编辑)我的实体“实例”。我的问题是如何获得这些属性的值,以我的代码。如果有更多的问题: http://twitter.com/xP_ablo

有帮助吗?

解决方案

您需要以某种方式得到NSArrayController的一个参考。如果您正在加载的NIB自己,你可以一个IBOutlet实例添加到设置为发钞银行“文件所有者”之类的。当加载笔尖,您提供的NIB的“文件所有者”类的实例作为所有者。如果你不加载NIB自己(即它是由可可自动加载您的应用程序的MaineMenu笔尖/ XIB),然后在笔尖创建自己的类的实例,并添加一个IBOutlet到该实例。你在你的类中创建一个IBOutlet像这样的:

@interface MyClass : NSObject { //of course your class doesn't have to be a direct descendent of NSObject
    IBOutlet NSArrayController *arrayController;
}

@property (retain,nonatomic,readwrite) IBOutlet NSArrayController *arrayController;

...

@end

@implementation
@synthesize arrayController;

- (void)dealloc {
    [arrayController release];
    [super dealloc];
}
@end

连接IBOutlet中在类的NSArrayController的并拖动到NSArrayController的(在第一种情况下的文件所有者或你的类的在上述第二种情况下,例如控制研究点击)。当你松开鼠标,你会得到拖动源的IBOutlets的弹出。选择IBOutlet中创建(在上面的例子中例如“arrayController”)。

一笔尖被加载(即awakeFromNib在你的类称为后),则可以经由出口访问arrayController:

NSArray *content = [[self arrayController] arrangedObjects];

和你现在可以做你与数组中的值讨好的东西。

其他提示

如果我有这个正确的,你有一个TableView中,势必会被绑定到数据的NSArrayController的。

最简单的方法:创建你的类一个IBOutlet(通常是文件的所有者),并在Interface Builder这个IBOutlet中连接到NSArrayController的。然后,您可以让你从这个阵列需要的值。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top