Macos 在加载核心数据实体后,如何在应用程序启动时立即发送消息?
在将核心数据实体加载到使用Interface Builder库中的“核心数据实体”工具创建的表中之前,将在应用程序委托中调用方法Macos 在加载核心数据实体后,如何在应用程序启动时立即发送消息?,macos,core-data,osx-snow-leopard,Macos,Core Data,Osx Snow Leopard,在将核心数据实体加载到使用Interface Builder库中的“核心数据实体”工具创建的表中之前,将在应用程序委托中调用方法ApplicationIDFinishLaunching: 我有一个自定义视图(带有控制器),它根据选定的核心数据实体绘制数据图表。启动应用程序时,会自动选择核心数据实体表中的顶部条目,并用正确的数据填充绑定到该实体属性的其他文本字段。我需要向自定义视图控制器发送一条消息,以便在应用程序启动时加载数据后重新绘制自定义视图 将消息发送到自定义视图控制器的代码应该放在哪里?
ApplicationIDFinishLaunching:
我有一个自定义视图(带有控制器),它根据选定的核心数据实体绘制数据图表。启动应用程序时,会自动选择核心数据实体表中的顶部条目,并用正确的数据填充绑定到该实体属性的其他文本字段。我需要向自定义视图控制器发送一条消息,以便在应用程序启动时加载数据后重新绘制自定义视图
将消息发送到自定义视图控制器的代码应该放在哪里?是否有类似于
ApplicationIDFinishLaunching:
的委托方法,在启动时加载核心数据实体后接收通知?我花了一段时间才弄明白这一点,因为我对Cocoa比较陌生。相关文件如下:
如果“自动准备”
“内容”标志(例如,请参见,
SetAutomaticallyPrepareContent:)是
为控制器设置,控制器的
初始内容是从其
使用
控制器的当前获取谓词。
值得注意的是
控制器的取数作为
延迟操作在其运行后执行
托管对象上下文由nib设置
加载)-因此在
从NIB和
WindowControllerdLoadNib:。这个可以
如果你想,就制造一个问题
对内容执行操作
对象控制器的
这些方法,因为控制器
内容为零。你可以到处工作
这是通过“手动”执行提取来实现的
使用fetchWithRequest:合并:错误:。
将nil作为获取请求传递
参数使用默认请求,
如以下代码所示
碎片
我在app委托中向我的NSArrayController添加了一个IBOutlet,并在Interface Builder中连接了它。然后,根据上述链接中的文档,我将以下内容添加到方法applicationdFinishLoading:
:
-(void)applicationDidFinishLaunching:(NSNotification *) aNotification {
NSError *error = nil;
BOOL ok = [myArrayController fetchWithRequest:nil merge:NO error:&error];
if (ok) {
[myCustomViewController redrawMyCustomView];
}
}
现在,当我启动应用程序时,数据将填充表,视图将自动用所选数据重新绘制