Cocoa 应用程序 - XCode 8 和 App Delegate

Posted

技术标签:

【中文标题】Cocoa 应用程序 - XCode 8 和 App Delegate【英文标题】:Cocoa Application - XCode 8 and App Delegate 【发布时间】:2017-02-23 16:53:04 【问题描述】:

在 XCode 7 中,我得到了这样的 managedObjectContext:

[[[NSApplication sharedApplication] delegate] managedObjectContext]

在 XCode 8 中,我得到一个关于 managedObjectContext 的错误:

找不到实例方法“managedObjectContext”;

如何访问 App 的 managedObjectContext ?

【问题讨论】:

【参考方案1】:

解决办法是:

AppDelegate* appDelegate = (AppDelegate*)[[NSApplication sharedApplication] delegate];

_managedObjectContext = [appDelegate managedObjectContext];

以及像这样调用 App Delegate 的问题:

[[NSApplication sharedApplication] delegate]

【讨论】:

【参考方案2】:

在 Swift 中你会使用这样的东西:

let context = (NSApplication.shared().delegate as! AppDelegate).managedObjectContext

【讨论】:

以上是关于Cocoa 应用程序 - XCode 8 和 App Delegate的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 8/Swift 3:让 AP​​I 信息离线可用? [复制]

使用 Cocoa Touch Framework 的 iOS 8 项目未在模拟器中构建

Xcode 5 Cocoa 应用程序无法在 OS X 10.6 上加载 Nib

从 Cocoa 应用程序项目中导出 XCode 中的 OSX 可执行文件

将框架从 SwiftPM 嵌入到 Cocoa 应用程序 (XCODE)

如何使用 Xcode 4 在 Cocoa Touch 单元测试包中创建应用程序测试?