【问题标题】:Confused with how to implement view controller for cocoa app对如何为可可应用程序实现视图控制器感到困惑
【发布时间】:2015-07-06 17:17:06
【问题描述】:
我对 Objective-c 和 cocoa 非常陌生(从今天开始),我有使用 java 的经验,这似乎是一个不同的世界。我正在使用场景工具包和OSRSerialPort 构建一个应用程序(查看了示例代码,但不明白控制器是如何连接到视图的)。这样做的目的是从微控制器获取加速度计数据,并使用场景套件对其进行可视化表示。我尝试以与 OSRSerialPort 的 github 中的示例项目相同的方式实现我的控制器。我的似乎不起作用。我只是对为什么我的项目不会从端口接收输入感到困惑,但是当我觉得我以正确的方式实现它时,示例一个接收它就好了。我已附上 xCode 项目here.
希望对此有任何帮助。
【问题讨论】:
标签:
objective-c
cocoa
serial-port
scenekit
【解决方案1】:
我正在使用场景工具包和 OSRSerialPort 构建一个应用程序(看过
示例代码,不明白控制器是如何连接的
到视图)
使用 Xcode,您可以将控制器连接到视图而无需编写任何代码。当您使用 Xcode 的 Interface Builder(IB) 时,几乎不可读的 xml 数据会自动插入到窗口的 .xib 文件中,这是实际连接两个对象的代码。
然后,当您的应用程序启动时,会解析 .xib 文件,并创建 .xib 文件中列出的对象并设置 .xib 文件中列出的连接。
我猜你找不到的连接在窗口的 .xib 文件中。
事实上,ORSerialPort 的 README.md 是这样写的:
此应用程序演示了可以设置和使用
串行端口与 ORSSerialPort 无需编写大量“胶水”代码。
几乎所有的 UI 都是使用 Cocoa 绑定实现的。
无需编写大量“粘合”代码意味着开发人员无需编写代码,而是在 IB 中的对象之间进行了大量拖动。而Cocoa bindings 是一个艺术术语,但你会发现你必须先了解其他的东西。
在弄清楚如何下载项目并在 Xcode 中本地打开后,我能够在 IB 中查看 MainMenu.xib。下面是 IB 中 MainMenu.xib 的截图,右侧是 ORSSerialPortDemoController 的部分连接列表:
这些连接是在没有编写任何代码的情况下建立的。
我对 Objective-c 和 cocoa 很陌生(从今天开始)
好吧,那就把你当前的项目放在一边,学习如何在 Hello World 风格的应用程序中使用 Xcode 的基础知识,然后继续前进。随着学习的进展,您将知道何时准备好返回当前项目。