- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
它是 this 的重复项问题。
我在掌握一些 Cocoa 基础知识(特别是 Controller 和委托(delegate))时遇到困难,所以我决定完成一个基本教程。我找到了“您的第一个 Mac 应用程序”,一切都很顺利,直到“Where To Next”阶段。以下是一些我不明白的大概基本的事情:
>
- "Create a new controller class, and move for managing the track and the user interface from the application delegate to this new class."
...创建单独的 Controller 类有什么意义?我得到了 MVC 模式并在过去使用过它,我只是不知道在那里单独的 Controller 和委托(delegate)的位置。
- "Create an instance of the controller class in the nib file, and make appropriate connections to and from it, rather than to and from the application delegate."
...在那之前,我只是认为我只是创建 NSWindowController 的子类,然后在 .xib 文件中声明窗口应该是此类的对象。现在我很困惑。 Controller 应该是什么类?它应该符合什么接口(interface)(对不起,协议(protocol))?如果它只是一个我指向导出的类,那么再一次 - 与我已有的 Delegate 有什么区别?
- "Add a connection from the application delegate to the new controller object. When the application has finished launching, the application delegate should send a message to the controller to display the window."
...消息是什么?我发现的最接近的是 NSWindowController 类中的 showWindow: message ,但是当我写这个时:
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
[trackController showWindow:self];
}
在AppDelegate的applicationDidFinishLaunching方法中,它显示错误“接收器类型'TrackController'例如消息是前向声明”,我只是无法理解它是什么意思。
不仅如此,如果这个窗口在空白项目中没有显示我创建的所有代码,为什么我应该发送一条消息来显示这个窗口?也许我应该以某种方式关闭此默认行为并自己创建此窗口的实例?
最佳答案
Controller 类的要点:在 Controller 和模型元素及其用户界面之间保持一定的比例是一个很好的做法。对于简单的应用程序,您可以将所有代码放在 AppDelegate
中。一旦您开发了更复杂的应用程序,您将需要从 AppDelegate
卸载代码。到不同的 Controller ,你将有不同的 View 来维护你的模型。我尝试在 View 和 Controller 之间保持 1:1 的关系,以使事情易于管理。
Controller 可以实现各种协议(protocol)来委托(delegate) UI 组件处理特定的功能。然后他们成为该组件的委托(delegate)。例如,在您看来,您有 NSTextView
并且您想知道用户何时单击文本中的链接。然后你的 Controller 可以实现 <NSTextViewDelegate>
并实现方法textView:clickedOnLink:atIndex:
。通过这样做,它成为您 NSTextView
的委托(delegate)。 .
Controller 应该是什么类?有多种 Controller 类可用于构建您的应用程序。我倾向于只使用 NSViewController
。该 Controller 能够处理 NSView
的实例显示在 NSWindow
中。 NSView
支持的 View 层次结构允许您决定各种粒度场景(巨大、复杂的 Controller 或细粒度 - 这取决于您)。
有关前向声明问题,请参阅 this post .
我不明白你关于显示窗口的最后一个问题。显然,默认模板会生成一些管道代码来显示窗口。您可以使用该代码或自行编写。如果我没有正确理解你的意思,请澄清...
关于objective-c - cocoa 教程麻烦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10937622/
我正在做一个关于代码学院的教程,我在这里收到一个错误,说“看起来你的函数没有返回‘唉,你没有资格获得信用卡。资本主义就是这样残酷。’”当收入参数为 75 时。”但是该字符串在控制台中返回(由于某种原因
我正在阅读 Go 的官方教程,但很难理解 Channel 和 Buffered Channels 之间的区别。教程的链接是 https://tour.golang.org/concurrency/2和
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。 9年前关闭。 Improve this que
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,因为
作为 iOS 新手,有大量书籍可以满足学习基础知识的需求。现在,我想转向一些高级阅读,例如 OAuth 和 SQLite 以及动态 API 派生的 TableView 等。您可以推荐任何资源吗? 最佳
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 8 年前。 Improve
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 8 年前。
前言 很多同学都知道,我们常见的CTF赛事除了解题赛之外,还有一种赛制叫AWD赛制。在这种赛制下,我们战队会拿到一个或多个服务器。服务器的连接方式通常是SSH链接,并且可能一个战队可能会同时有
Memcached是一个自由开源的,高性能,分布式内存键值对缓存系统 Memcached 是一种基于内存的key-value存储,用来存储小块的任意数据(字符串、对象),这些数据可以是数据库调用、A
Perl 又名实用报表提取语言, 是 Practical Extraction and Report Language 的缩写 Perl 是由 拉里·沃尔(Larry Wall)于19
WSDL 是 Web Services Description Language 的缩写,翻译成中文就是网络服务描述语言 WSDL 是一门基于 XML 的语言,用于描述 Web Services 以
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 6年前关闭。 Improve thi
我正在寻找解释在 WPF 中创建自定义用户控件的教程。 我想要一个控件,它结合了一个文本 block 、一个文本框和一个启动通用文件打开对话框的按钮。我已经完成了布局,一切都连接好了。它有效,但它是三
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我接近 fourth page of the Django tutorial 的开始看着vote查看,最后是这样的: # Always return an HttpResponseRedirect a
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
是否有任何好的 Qt QSS 教程,或者在某个地方我可以看到样式小部件的示例?如果某处可用,我想要一些完整的引用。除了有关如何设置按钮或某些选项卡样式的小教程外,我找不到任何其他内容。 最佳答案 Qt
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
我是一名优秀的程序员,十分优秀!