- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
相对新手问题。我的应用程序有一个简单的 NSNumbers NSMutableArray。 (大约十几个整数)我希望我的 UI 有一个显示数字的 View ,以便用户知道数组中有什么。我希望 View 的内容是最新的,所以我想我想要绑定(bind)到数组(或其内容)。有没有简单的方法可以做到这一点?
我想如果我更改模型以便 NSMutableArray 包含一个自定义类,该类具有已声明属性的 setter 和 getter(遵循 Lucas 的 YouTubtorial on NSTableView 绑定(bind)),我想我可以解决这个问题,但我认为可能有一种更简单的方法,允许我使用我的 NSNumbers 数组。如果我必须重做我的 NSMutableArray,我就必须做大量的编辑。谢谢...
最佳答案
您可以在模型中使用普通的旧 NSNumbers(或其他任何内容),无需使用自定义模型类。但是,如果您的模型数据需要 View 的任何特殊格式,您可以创建 NSValueTransformer 子类。
在你的 NIB 中,你将有一个 NSTableView 和一个 NSArrayController。
将 TableView 列的 Value 属性绑定(bind)到 NSArrayController, Controller key =arrangedObjects,模型键路径为空(因为您正在查看 NSNumber 实例本身,而不是 NSNumber 的属性)。
将 NSArrayController 的 Content Array 属性绑定(bind)到您的模型(NSNumbers 的 NSMutableArray)。这可能是您的 View Controller 或应用程序委托(delegate)上的属性。
就是这样。您还可以将按钮连接到 NSArrayController 上的 add:
和 remove:
操作,这样您就可以在数组中添加和删除项目。
此外,每当 NSMutableArray 发生更改时,您都需要发送 KVO 通知。例如,假设您的 NSMutableArray 通过名为“numbers”的属性公开:
[self willChangeValueForKey:@"numbers"];
[_numbers addObject:[NSNumber numberWithInt:123]];
[self didChangeValueForKey:@"numbers"];
如果您将“numbers”属性设置为新值,您将免费获得这些通知:
self.numbers = [NSMutableArray arrayWithObject:foo];
关于Xcode,OS X : viewing a simple NSMutableArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8526381/
我是一名优秀的程序员,十分优秀!