2012-01-16 88 views
2

我想在标签中显示NSArray中被称为页面的当前元素数量。继其他指南我做了以下内容:将标签的值绑定到NSArray的count属性

  1. 创建一个NSArrayController在IB(称为pagesController),它一定到NSArray的页面
  2. 限定的标签的值属性NSArrayController的与控制键= arrangedObjects和型号关键路径= @count

问题是,当程序运行时,标签始终显示“0”。为了检查这些东西是否正常工作,我尝试在用户单击另一个按钮(该按钮基本上在页面数组中插入一个新元素)时记录消息:在这种情况下,输出是正确的,即当前元素数量在打印的数组中是正确的。 我错在哪里?

+0

某些代码会更好理解,哪里出错? – vishy 2012-01-16 12:59:18

+0

你遵循什么“其他指南”?当我谷歌我只找到这个问题。 – ohcibi 2014-07-13 12:33:06

回答

0

很多人没有正确使用KVC。您的阵列控制器将只通知pages属性被重新定义,而不是在对象添加到阵列时通知。尝试使用适当的更改通知来包装您的代码:

[self willChangeValueForKey:@"pages"]; 
[pages addObject:someObject]; 
[self didChangeValueFOrKey:@"pages"]; 
+0

你是对的,非常感谢! – renton 2012-01-16 13:45:25

相关问题