2011-03-11 99 views
1

我有一个NSArrayController,其中的内容我想成为所有连接屏幕的CGDirectDisplayID的列表。现在,我有以下代码:没有核心数据的NSArrayController绑定

NSArray* screens = [NSScreen screens]; 
for (NSScreen* screen in screens) 
{ 
    NSNumber* screenId = (NSNumber*)[[screen deviceDescription] valueForKey:@"NSScreenNumber"]; 
    [displaysList addObject:screenId]; 
} 

[displaysArrayController setContent:displaysList]; 

displaysList是在awakeFromNib分配的NSMutable阵列,请问我需要在界面生成器做在displaysList填充一个弹出按钮,值是多少?

回答

1
  1. 在上面贴出的代码的类中添加一个新的NSArray属性。称它为
    例如displaysArray
  2. 添加您连接到IBOutlet中displaysArrayController
  3. 在Interface Builder中,你会发现一个名为“客体控制器” 组设置其模式为“NSArray的” 禁用检查一个NSArrayController的“准备内容”
  4. 在另一部分中,您会看到一个名为“Controller Content”的组。启用复选框并将其绑定到具有属性displaysArray的对象。将模型关键路径设置为 displaysArray。

我希望帮助:)

+0

是谢谢你。现在,当我有一个UI元素,比如说一个弹出式按钮时,我会将内容对象组绑定到什么关键路径? – grivescorbett 2011-03-12 19:40:47

+0

将它绑定到阵列控制器并设置路径为排列对象 – lbrndnr 2011-03-12 20:56:00

+0

但是,如果我只是设置路径排列对象,那么在模型关键路径中有一个错误,表示它期待NSString,我给它NSArray,怎么可能我得到它传递数组中的实际值? – grivescorbett 2011-03-13 20:54:46

相关问题