标签: nsobjectcontroller

KVO:+ keyPathsForValuesAffecting <Key>不能与NSObjectController的(子类)一起使用

我有一个KVO-able类(称之为Observee),其affectedValue动态属性受affectingValue属性影响.属性之间的依赖关系由实现+keyPathsForValuesAffectingAffectedValue方法定义.

设置一个值以affectingValue通知affectedValue 已按我的预期更改, 除非 Ovservee是它的子类NSObjectController.完整示例如下:

@interface Observee : NSObject // or NSObjectController
@property (readonly, strong, nonatomic) id affectedValue;
@property (strong, nonatomic) id affectingValue;
@property (strong, nonatomic) NSArrayController *arrayController;
@end

@implementation Observee

@dynamic affectedValue;
- (id)affectedValue { return nil; }

+ (NSSet *)keyPathsForValuesAffectingAffectedValue {
  NSLog(@"keyPathsForValuesAffectingAffectedValue called");
  return [NSSet setWithObject:@"affectingValue"];
}

@end

@interface AppDelegate : NSObject <NSApplicationDelegate>
@property (strong, nonatomic) Observee *observee;
@end

@implementation AppDelegate

- (void)applicationDidFinishLaunching:(NSNotification *)notification …
Run Code Online (Sandbox Code Playgroud)

cocoa objective-c key-value-observing nsarraycontroller nsobjectcontroller

5
推荐指数
1
解决办法
1840
查看次数

如何将NSTextField的值绑定到NSObjectController的内容而不会出现错误?

我在这里有一个非常简单的设置,Xcode给了我一个没有评论的红色"!" 在界面构建器中标记.

从基于核心数据的文档模板开始.文档xib有一个NSObjectController实例,其托管对象上下文绑定到文件的所有者(我的NSPersistentDocument子类).存在NSTextField,其值我想绑定到NSObjectController ......这就是问题所在.

我为"模型键路径"键入"title",因为这是我的NSManagedObject的正确属性,它应出现在文本字段中.当我点击空的Controller Key字段时,autocompletion奇怪地建议仅用于NSArrayController的字段:

奇怪的自动填充候选人的屏幕截图

每当我尝试输入"content"作为Controller Key(因为这是NSObjectController的正确属性)然后点击Tab/Return/what时,"content"会向下移动到Model Key Path,如下所示:

错误的屏幕截图

这个红色感叹号是什么?当我将"Controller Key"留空并且"Model Key Path"作为content.title时,应用程序正常工作.绑定是正确的,并反映了我的NSManagedObject的"title"属性.我绝对相信"对象控制器"是NSObjectController的一个实例.

cocoa core-data interface-builder nsobjectcontroller xcode4

4
推荐指数
1
解决办法
3760
查看次数

如何将NSObjectController与Core Data一起使用?

我花了一天多的时间试图找到一个如何使用NSObjectControllerfor binding和核心数据的简单示例.所有示例都NSArrayControllers带有NSTableView绑定.

您如何设置一个简单NSObjectController的核心数据来自动保存和获取数据?假设您想要将具有字符串属性的实体绑定到文本字段,您将如何执行此操作?

macos cocoa core-data cocoa-bindings nsobjectcontroller

3
推荐指数
1
解决办法
1191
查看次数