标签: nsarraycontroller

使用NSArray观察关键值

我已经在SO上查看了使用键值观察的示例NSArray(或者NSMutableArray),显然你需要使用NSArrayController(不像KVO我不熟悉的),但我没有找到如何执行此操作的具体示例.有人可以解释一些示例代码吗?

例如,如果我有一个GameModel代表其播放器名称NSArray (playerNameArray)的a NSStrings.我想观察那些字符串(视图控制器观察模型的数据)来更新视图中的各种内容.

如何获得播放器名称数组已更改的通知?

编辑:iOS SDK甚至支持NSArrayController吗?如果没有,还有另一种方式吗?

iphone objective-c key-value-observing nsarray nsarraycontroller

21
推荐指数
1
解决办法
1万
查看次数

将NSArrayController绑定到NSPopupButton和NSTextField

我想要完成的事情似乎应该相当简单.我在这里放了一个示例项目.

我有一个NSArrayController充满了NSDictionaries数组.

[[self controller] addObject:@{ @"name" : @"itemA", @"part" : @"partA" }];
[[self controller] addObject:@{ @"name" : @"itemB", @"part" : @"partB" }];
[[self controller] addObject:@{ @"name" : @"itemC", @"part" : @"partC" }];
Run Code Online (Sandbox Code Playgroud)

我正在使用'name'键来填充NSPopupButton以及此数组中的项目.使用以下绑定可以轻松完成此操作

绑定

然后,我想根据NSPopupButton的当前选择,使用'part'键中的文本填充NSTextField.我已经设置了以下绑定:

textfieldbindings

仅使用这些绑定,文本字段就会显示"partC".

初始显示

但是,如果我更改NSPopupMenu的值,文本字段显示的内容不会更改.

我认为这只是在NSPopupButton上设置'Selected Object'绑定的问题

选定的对象

但那不起作用.我最终得到了菜单中的代理对象,原因有些奇怪(提供原因可能是奖金).

窗口2

那么,我需要做些什么来使这项工作?

macos cocoa nsarraycontroller cocoa-bindings

19
推荐指数
1
解决办法
7457
查看次数

子类化NSArrayController的原因是什么?

我正在努力改进我的KVC/KVO/Cocoa-Bindings-fu,并想知道继承NSArrayController的原因是什么?

cocoa subclass nsarraycontroller cocoa-bindings

15
推荐指数
2
解决办法
2628
查看次数

为什么没有适用于iPhone的NSArrayController?

为什么没有适用于iPhone的NSArrayController?iPhone上会有一个NSArrayController吗?

arrays iphone cocoa objective-c nsarraycontroller

14
推荐指数
2
解决办法
2994
查看次数

对支持NSTableView的NSArrayController进行排序

我有一个NSArrayController和一个NSTableView.他们从iTunes中显示曲目.我可以通过单击标题对列表进行排序.

有没有办法为表视图设置默认排序描述符,以便每次用户启动应用程序时对相册进行排序?

我试图在数组控制器和表视图上设置sortDescriptor,但这没有任何改变.

谢谢

编辑:答案是对的.但它需要一个NSArray:

- (NSArray *)mainSortDescriptor {

    return [NSArray arrayWithObjects:
            [NSSortDescriptor sortDescriptorWithKey:@"album" ascending:YES], 
            [NSSortDescriptor sortDescriptorWithKey:@"trackNumber" ascending:YES], 
            nil];
Run Code Online (Sandbox Code Playgroud)

}

sorting cocoa nstableview nsarraycontroller

14
推荐指数
2
解决办法
6097
查看次数

使用三个相关的NSPopUpButton在CoreData中设置值

我希望用适当的条款表达自己.

我有三个实体:客户,国家,.与国家状态,有两种关系.所以我可以创建一些国家并选择其中一个我可以创建属于它的一些.

为了创建实体"客户"的界面,我把三个NSPopUpButton's:

  • 第一个选择国家,
  • 第二个显示与所选国家/地区相关的.
  • 最后一个显示与所选州相关的邮政编码.

我的问题是我无法通过所选NSPopUpButton实体"客户" 传递数据.NSPopoUpButton通过绑定工作:

  • 内容(绑定到:country,arrangeObjects),
  • 内容值(绑定到:country,arrangeObjects,model key:country),
  • 选定的索引(绑定到:country,selectionIndex).

我该怎么做才能确保三者选择的数据NSPopUpButton's记录在实体"客户"的相应字段中?

xcode core-data nsarraycontroller

13
推荐指数
1
解决办法
433
查看次数

在多个Storyboard场景中使用NSArrayController

我有一个使用故事板的基于Mac文档的核心数据应用程序.故事板具有以下布局:

Window Controller
    Split View Controller
        Table View Controller
        Text View Controller
Run Code Online (Sandbox Code Playgroud)

My Core Data模型包含一个Chapter实体,它包含两个属性:title和contents.我希望表视图显示每个章节标题.文本视图显示所选章节的内容.

如果我使用的是xib文件,我会在xib文件中添加一个数组控制器.我将数组控制器绑定到File的所有者以访问我的NSPersistentDocument子类.我将表视图绑定到数组控制器的arrangeObjects属性,并将文本视图绑定到数组控制器的选择.

但随着故事板,事情变得更加复杂.我可以向表视图控制器添加一个数组控制器,将表视图绑定到数组控制器,并在表视图中显示章节标题.但是文本视图控制器无法绑定到该阵列控制器,因为阵列控制器位于另一个场景中.

如何在Interface Builder中添加数组控制器,以便表视图控制器和文本视图控制器都可以访问它并绑定到它?

cocoa nsarraycontroller cocoa-bindings

13
推荐指数
1
解决办法
2037
查看次数

NSArrayController +基于视图的NSTableView绑定到NSTextField

我有一个基于NSTableView的视图.一个阵列控制器.

将tableview的内容设置为数组控制器的arrangeObjects.将数组控制器的内容设置为自定义对象的NSMutableArray.

使用Controller键将表单元格视图的NSTextField值绑定到数组控制器:arrangeObjects和Model键路径:name

程序运行时,行数是否正确,排列对象中的内容是否正确但文本字符串的字符串不会更改?尝试绑定文本字段和文本字段单元格.

这是一个例子:有人请告诉我我做错了什么. https://dl.dropboxusercontent.com/u/29574/random/nsarraycontroller%20viewbased%20tableview.zip

macos binding objective-c nstableview nsarraycontroller

12
推荐指数
1
解决办法
5706
查看次数

将有序关系与NSArrayController绑定

如何将NSArrayController的内容绑定到有序多对多关系中的实体?

我的Core Data模型中有一个无序的to-many关系,以及一个NSArrayController,其内容集与父实体的关系绑定.这很好用,可以从NSArrayController访问数据,没问题.

我在开发期间决定允许用户手动重新排序这些子对象,因此我将关系更改为有序关系.现在,当我的笔尖创建我的NSArrayController时,会出现以下错误:

Cannot create NSSet from object Relationship '...' fault on managed object ... of class _NSFaultingMutableOrderedSet
Run Code Online (Sandbox Code Playgroud)

实际上,我认为这一切都是有道理的:这是一个有序的关系,所以现在我得到一个有序的集合.将它绑定到Content Array也是不合适的,因为它现在是NSOrderedSet,而不是数组.我的问题是:现在如何将此关系的数据绑定回NSArrayController?

cocoa core-data nsarraycontroller cocoa-bindings

11
推荐指数
2
解决办法
2478
查看次数

使用NSArrayController划分NSTableView

我正在尝试创建一个NSTableView使用NSArrayController和可可绑定的分段.我正在寻找类似于NSFetchedResultsControlleriOS 的类似方法,您可以在其中设置部分键路径.我想做类似的东西NSArrayController.

我举个例子:我有不同的任务.每项任务都有三个不同的优先级之一,低,中或高.任务还具有标题,描述,日期等属性.我想按优先级划分或分组任务(此处的部分键路径是优先级).

你可以用绑定来解决这个问题NSArrayController吗?我需要多个NSArrayController还是只需一个?

xcode cocoa nstableview nsarraycontroller cocoa-bindings

9
推荐指数
1
解决办法
4334
查看次数