将应用程序从 Carbon 迁移到 Cocoa

2023-12-22

我正在开发一个应用程序,需要将其整个代码从carbon迁移到cocoa。我在大学期间和实习期间有C,C ++,python和Java编程经验,但从未接触过Objective C或做过在此之前的任何 Mac(Carbon 和 Cocoa)编程。

那么您能否建议我一些开始的来源,以及我应该如何进行整个迁移?

在网上研究后,我发现大多数人都推荐了以下书籍

Mac® OS X 的 Cocoa 编程,第三版,作者:Aaron Hillegass

Objective C 编程 - Stephen Kochan

这两本书我都有。

我应该先阅读它们,然后再开始更改代码吗? (阅读这两篇文章需要一些时间)

OR

在对 Obj C 和 Cocoa 有了一定的熟悉之后,我应该直接开始代码迁移吗?

Also,

既然我不了解carbon,那么我应该参考什么来学习carbon才能有足够的知识将carbon代码迁移到cocoa?


首先,学习 Carbon,以便您可以阅读该程序并了解它当前是如何实现的。

在 Xcode 中安装旧版文档集以访问 Carbon 指南。你会想阅读碳概述 http://developer.apple.com/legacy/mac/library/documentation/Carbon/Conceptual/newtocarbon/, then 碳入门 http://developer.apple.com/legacy/mac/library/referencelibrary/GettingStarted/GS_Carbon/,然后是入门链接到的所有内容。您还需要学习 Core Foundation,Carbon 的一些更现代的部分使用它;读核心基础设计理念 http://developer.apple.com/mac/library/documentation/CoreFoundation/Conceptual/CFDesignConcepts/Core Foundation 内存管理编程指南 http://developer.apple.com/library/mac/#documentation/CoreFoundation/Conceptual/CFMemoryMgmt/.

然后,学习可可。

我没有从 Hillegass 的书中学到东西,但很多人都非常相信它。我目前最喜欢的可可书是“Cocoa 和 Objective-C:启动并运行”作者:Scott Stevenson http://cocoabook.com/。我学习 Cocoa 的方法是使用 Apple 自己的文档。从...开始Objective-C 编程语言 http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/ObjectiveC/, the 可可基础指南 http://developer.apple.com/library/mac/#documentation/cocoa/Conceptual/CocoaFundamentals/,以及Cocoa 内存管理编程指南 http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/MemoryMgmt/。最后一个文档的大部分内容看起来非常熟悉,但是不跳过任何内容。从头到尾并从头到尾阅读每一份指南。

一旦您了解了 Cocoa 的一般概念,您就可以继续学习更多特定于应用程序的材料。从应用架构概述 http://developer.apple.com/library/mac/documentation/cocoa/Conceptual/AppArchitecture/以及该文档链接的大部分内容。这有完整的指南列表。

接下来,您还需要使应用程序与 64 位模式兼容。如果到那时您仍然有任何 Carbon 代码,您需要阅读Carbon 开发者 64 位指南 http://developer.apple.com/library/mac/#documentation/Carbon/Conceptual/Carbon64BitGuide/;不管怎样,你还需要通用的64 位过渡指南 http://developer.apple.com/library/mac/#documentation/Darwin/Conceptual/64bitPorting/Cocoa 64 位过渡指南 http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Cocoa64BitGuide/.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将应用程序从 Carbon 迁移到 Cocoa 的相关文章

  • 如何为图层阴影不透明度设置动画?

    我有一个视图 我已将 LayerOpacity 设置为 1 theView layer shadowOpacity 1 0 当视图位于屏幕下方时 这看起来很好 当我将此视图向上移动以与另一个有阴影的视图齐平时 它们看起来不太好 有没有办法让
  • 与新 Apple Music 应用程序中相同的动态状态栏

    是否可以动态着色statusBar这是在新的苹果音乐应用程序 Edit iOS 8 4 中的新 Apple Music 应用程序具有此功能 打开应用程序 选择并播放歌曲 状态栏为白色 向下滑动播放器控制器以查看 我的音乐 控制器 它有黑色状
  • 如何编辑应用程序包中的文件?

    在我的应用程序中 我从存储在捆绑资源中的 CSV 文件加载数据 但是 我希望能够在用户点击 更新 按钮时以编程方式更新此文件 有没有办法以编程方式更改应用程序包中的资源 这是我用来访问该文件的代码 NSString path NSBundl
  • 无法使 csshX 在 Mac OS Big Sur 上运行

    csshX不适用于 Mac Big Sur 未实现 POSIX tmpnam 在 System Library Perl 5 28 darwin thread multi 2level POSIX pm 第 185 行使用 File Tem
  • 如何将CIFilter应用到UIView上?

    根据Apple docs 过滤属性CALayer不支持iOS 当我使用正在申请的应用程序之一时CIFilter to UIView即 Splice Funimate 和 Artisto 的视频编辑器 Videoshow FX 这意味着我们可
  • zsh:未找到命令:使用 Big Sur Mac 的终端上的 R

    我从官方 cran 网站安装了 R 我可以从 Rstudio 运行 R 但是当我尝试从终端使用 R 时 我得到以下结果 base ege Eges MBP R zsh command not found R base ege Eges MB
  • 检查 Objective-C 块类型?

    这主要是出于好奇 我不太确定它的实际用途是什么 但就这样吧 由于块也是 Objective C 对象 是否可以检查它们的类型 也就是说 它是否响应isKindOfClass 消息以及如何使用该消息来处理块 我天真的以为事情大概是这样的 vo
  • 在 Mac OS X 上安装 libxml2 时出现问题

    我正在尝试在我的 Mac 操作系统 10 6 4 上安装 libxml2 我实际上正在尝试在 Python 中运行 Scrapy 脚本 这需要我安装 Twisted Zope 现在还需要安装 libxml2 我已经下载了最新版本 2 7 7
  • 子类 PFObject 上的 PFUser 属性

    我使用以下类 动态属性以及 m 文件中的 load 和 parseClassName 方法 对 PFObject 进行了子类化 interface DAOpponents PFObject
  • 如何将自定义 C 代码放入 SwiftPM 包中?

    我正在尝试将 C 代码打包到 Swift 模块中 我们称之为CModule 一旦我将其放入项目的基本文件夹中 Swift模块 并配置了搜索路径 我可以在 Swift 文件中自动完成工作 并检测错误 警告 问题是 导入时它无法识别该模块 并且
  • 在 MacOS 终端上运行 ffmpeg [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我对 MacOS 相当陌生 我发现使用终端来获取信息并不容易ffmpeg和我在 Window 上一样正常运行 我有 ffmpeg 二进制文件ffmpe
  • iPhone Twitter SDK 与 iOS 5 设备的集成问题

    我已成功将 Twitter Sharekit 与我的 iPad 应用程序源集成 当我在模拟器和装有 iOS 4 X 的 iPad 1 上测试该应用程序时 它运行完美 并且成功发布了推文 但是 如果我在装有 iOS 5 的 iPad 2 上安
  • 如何清除代码中的 NSLog 输出?

    有没有办法清除代码中的控制台输出 thanks 我喜欢的快捷方式 Simply USE K Keyboard Shortcut when you want to clear the NSLOG Data
  • Objective-C 中是否有命名初始化方法的约定?

    在可以通过不同的 init 方法初始化的 Objective C 类中 将所有初始化程序共用的初始化代码收集到一个从其他 init 方法 有时也从从 Nib 唤醒 是否有关于如何命名该方法的约定 初始化器 初始化公共 根据 Apple 的说
  • 如何重新定位或移动 Google Maps SDK 上的当前位置按钮?

    如何将 Objective C 中的当前位置按钮移至我的偏好 现在 我已启用它 但底角有东西挡住了它 Thanks 您可以使用 padding 将按钮向上移动 self mapView padding UIEdgeInsets top 0
  • 添加/删除带有动画的 UITableViewCell?

    我知道这听起来像是一个愚蠢的问题 但我到处都看过 我怎样才能做到这一点 我知道如何使用 swype to delete 方法来执行此操作 但是我如何在该函数之外执行此操作 请发布一些代码示例 Thanks Coulton self tabl
  • 如何在不卸载应用程序的情况下删除木桶?

    我最近安装了一个带有 homebrew cask 的应用程序 但我想自己处理它的更新 而不是通过brew cask upgrade 是否有命令或选项可以从本地列表中删除木桶而不卸载它 如果我使用brew cask remove or bre
  • iPhone/Objective-C - 呈现视图和委托时的 UIDocumentInteractionController 类参考

    我在用UIDocumentInteractionController在我的应用程序中 以便在我的应用程序中呈现 Instagram 过滤器屏幕 如下所述 http instagram com developer iphone hooks h
  • ios 在后台处理推送通知

    我想保存应用程序处于后台状态时到达的推送通知 我知道关于 void application UIApplication application didReceiveRemoteNotification NSDictionary userIn
  • 获取 Mojave 上的鼠标坐标

    我有一个非常基本的小命令行应用程序 可以在下次单击鼠标时获取鼠标坐标 import

随机推荐