5

我是一位经验丰富的开发人员,不熟悉 Mac 开发,所以我

仍然有很多差距,我很难找到好的可读性。下面列出了我的一些问题。这些非常简单/通用。必须有一个简短的文档,详细说明基本的应用程序引导过程以及所有涉及的类。谢谢!

  • XCode 生成的“委托”包含 NSPersistentStoreCoordinator、NSManagedObjectModel 和 NSManagedObjectContext 的实例——请详细说明?
  • 委托被声明为 "@interface tests_AppDelegate : NSObject {" 。为什么缺少协议?我在那里看到了网上的例子。
  • 我看到应用程序委托是在 Interface Builder 中实例化的。它在哪里传递到 NSApplication 实例?
4

2 回答 2

1

XCode 生成的“委托”包含 NSPersistentStoreCoordinator、NSManagedObjectModel 和 NSManagedObjectContext 的实例——请详细说明?

那是核心数据的东西。

委托被声明为 "@interface tests_AppDelegate : NSObject {" 。为什么缺少协议?我在那里看到了网上的例子。

大概是疏忽。AppKit 并不总是有一个正式的 NSApplicationDelegate 协议。Apple 可能从未更新过模板。您可能会提交一个错误

我看到应用程序委托是在 Interface Builder 中实例化的。它在哪里传递到 NSApplication 实例?

右键单击应用程序对象。您会发现它的delegate出口连接到委托对象。

于 2010-07-21T18:04:03.177 回答
1
  1. 仅当您将模板用于基于 CoreData 的应用程序时,才会发生这种情况。阅读核心数据基础知识

  2. 该协议仅在 OS X 10.6 中正式化。在此之前,它是非正式地完成的。只要委托实现了参考中提到的选择器,它就会被调用。委托人明确采用协议并不是绝对必要的。当然,最好这样做。请参阅NSApplicationDelegate 参考。每个条目都有评论

    在 Mac OS X v10.0 及更高版本中可用。在 Mac OS X v10.6 之前作为非正式协议的一部分提供。

  3. 在 Interface Builder 中,您会看到委托被分配给 File's Owner 的“delegate”出口:右键单击 File's Owner,您可以看到这一点。nib 文件包含在 IB 中创建的冻干对象。当应用程序MainMenu.nib作为初始化过程的一部分进行读取时,它指定NSApp 为文件的所有者。因此,在 nib 文件中实例化和冻结的应用程序委托被分配给NSApp. delegate读取笔尖文件

于 2010-07-21T18:04:00.247 回答