视频: Lecture 1: Introduction to iOS 11, Xcode 9 and Swift 4 2024
傻瓜式Mac应用程序开发的一部分备忘单
Macintosh应用程序开发使用 回调 来允许Mac OS X在您的应用程序中执行特定操作的代码。如果您正在创建一个标准的基于Macintosh窗口或基于文档的应用程序,则OS X将执行的第一个代码将根据应用程序设计使用以下其中一种必须为应用程序创建的回调方法:
<! (void)applicationDidFinishLaunching:(NSNotification *)aNotification-
基于文档的应用程序:(void)windowControllerDidLoadNib:(NSWindowController *)windowController
-
回调只是一个简单的方法,当操作系统试图提供或从您的应用程序检索信息时,操作系统最终执行。你的应用程序代码将为Cocoa类执行一个方法,你的应用程序将有机会提供你的一个类的方法的名字,在你的应用程序也必须提供的那个类的对象上调用。
<!一个
委托是一个辅助对象,Cocoa类用来扩展类的功能,允许你实现Cocoa类在特定情况下执行的代码。一个Cocoa类检查它的委托对象(如果已经被分配了)委托是否提供了一个特定方法的实现。如果委托具有该方法,则Cocoa类将执行该方法;如果委托没有实现这个特定的方法,Cocoa类或者使用它自己的默认方法或者记录一个错误。大多数代表必须包含一个特定的 协议 来确定他们可能实现的方法。您的代码的委托必须使用代理期望的特定协议的实现方法。 <! - 3 - > 下面是一些可以使用委托来执行代码的Cocoa对象:
NSTableView。 NSTableView接受一个服从NSTableViewDelegate协议的委托。这包括20到30个方法,您的应用程序的委托对象可以实现以支持您的应用程序需要知道NSTableView正在做什么。有些方法会在应用程序中需要知道和响应某个操作时调用,例如当用户在表中进行选择或调整列的大小时。的NSApplication。您可以分配一个NSApplicationDelegate来处理NSApplication实例(您的应用程序)将会收到的一些方法。这些方法可能会在应用程序执行另一个方法之前或之后调用,以便可以准备应用程序。
-
NSWindow。分配给您的应用程序窗口之一的NSWindowDelegate将为您的应用程序提供一个机会来响应用户调整大小,移动或其他窗口事件。
-
NSMenu。您实现了一个NSMenuDelegate来支持用户与应用程序中的菜单进行交互时发生的事件。