我是cocoa绑定的新手,所以我尝试创建一个简单的应用程序,它将简单地计算员工薪水的平均值,并使用cocoa绑定在文本字段中显示它。我按照以下步骤操作:
制作模型类:Person
现在有一个属性 -
@property(readwrite,assign)int salary;
在应用程序委托类中,我使用如下某些对象初始化了一个可变数组:personArray
:
Person *person1 = [[Person alloc] init];
person1.salary = 5000;
Person *person2 = [[Person alloc] init];
person2.salary = 15000;
Person *person3 = [[Person alloc] init];
person3.salary = 7000;
Person *person4 = [[Person alloc] init];
person4.salary = 9000;
Person *person5 = [[Person alloc] init];
person5.salary = 11000;
personArray= [[NSMutableArray alloc] initWithObjects:person1, person2, person3, person4, person5,nil];
在IB中,我删除了一个NSArrayController对象,将其模式设置为Class - Person
,在属性窗格中添加了键salary
。然后在绑定窗格中,将绑定内容数组绑定到ApplicationDelegate类,并将模型关键路径设置为self.personArray
。
在窗口上删除了NSTextField。将其值绑定到ArrayController对象。已将控制器密钥指定为 - arrangedObjects
。已分配给@avg.salary
当我执行应用程序时,我发现文本字段中没有显示任何值。
任何人都可以告诉我可能出错的地方或其他最好的方法来实现它
谢谢,
Miraaj
答案 0 :(得分:0)
上面报告的问题现已解决,我做了以下改进以解决它:
我在ApplicationDelegate类中声明了 - personArray
的属性。
代替将Person对象直接分配给personArray,我首先将它们分配给临时数组,然后使用:-setValue:forKey:
方法将其分配给personArray。
现在按预期工作:)