上一页 1 ··· 3 4 5 6 7 8 9 10 下一页
摘要: XCode 会自动为新建的工程创建本地 Git 仓库,但是如何为已有的工程创建 Git 仓库呢?Google 到下面这篇文章,贴在下面了。 原文链接:点击这里 其中 ignore文件下载为:https://github.com/github/gitignore/blob/master/Objective-C.gitignore Creating a git repository for an existing Xcode project ∞ 阅读全文
posted @ 2011-09-28 15:44 飘飘白云 阅读(772) 评论(0) 推荐(0) 编辑
摘要: 本文通过使用 Bonjour 实现了一个简单的服务器/客户端聊天程序,演示了 CFSocket,NSNetService/NSNetServiceBrowser, NSInStream/NSOutStream 的用法。 代码下载:点击这里 效果图如下: 阅读全文
posted @ 2011-09-15 21:42 飘飘白云 阅读(15916) 评论(8) 推荐(1) 编辑
摘要: NSDocument 并无 setTitle 这样设置标题的方法,但有两者途径可以设置 document 的显示名: 其一,NSDocument 有一个 displayName 的方法,该方法默认实现是显示最后与该文档关联文件的名字(不显示无后缀),如果没有文件与之关联,则显示"Untitled",我们可以修改该方法的实现,返回要显示的名称。下面的这个实现,显示其中第一个 windowController 所指 window 的 title 当作文档显示名称。 阅读全文
posted @ 2011-09-08 17:46 飘飘白云 阅读(572) 评论(0) 推荐(0) 编辑
摘要: 前面讲解了 Core Data 的框架,并完全手动编写代码演示了 Core Data 的运作过程。下面我们来演示如何结合 XCode 强大的可视化编辑以及 Cocoa 键值编码,绑定机制来使用 Core Data。有了上面提到的哪些利器,在这个示例中,我们无需编写 NSManagedObjectModel 代码,也无需编写 NSManagedObjectContext,工程模版在背后为我们做了这些事情。 今天要完成的这个示例,有两个 Entity:StudentEntity 与 ClassEntity,各自有一个名为 name 的 Attribute。其中 StudentEntity 通过一个名为 inClass 的 relationship 与 ClassEntity关联,而 ClassEntity 也有一个名为 students 的 relationship 与 StudentEntity 关联,这是一个一对多的关系。此外 ClassEntity 还有一个名为 monitor 的 relationship 关联到 StudentEntity,表示该班的班长。 阅读全文
posted @ 2011-09-07 16:58 飘飘白云 阅读(1270) 评论(0) 推荐(0) 编辑
摘要: 前面讲解了 Core Data 的框架,并完全手动编写代码演示了 Core Data 的运作过程。下面我们来演示如何结合 XCode 强大的可视化编辑以及 Cocoa 键值编码,绑定机制来使用 Core Data。有了上面提到的哪些利器,在这个示例中,我们无需编写 NSManagedObjectModel 代码,也无需编写 NSManagedObjectContext,工程模版在背后为我们做了这些事情。 今天要完成的这个示例,有两个 Entity:StudentEntity 与 ClassEntity,各自有一个名为 name 的 Attribute。其中 StudentEntity 通过一个名为 inClass 的 relationship 与 ClassEntity关联,而 ClassEntity 也有一个名为 students 的 relationship 与 StudentEntity 关联,这是一个一对多的关系。此外 ClassEntity 还有一个名为 monitor 的 relationship 关联到 StudentEntity,表示该班的班长。 代码下载: 阅读全文
posted @ 2011-09-07 16:44 飘飘白云 阅读(1476) 评论(0) 推荐(0) 编辑
摘要: 每一个应用程序都必须有一个 NSApplication 单例对象,它管理应用程序的主事件循环。在 main() 函数中,我们在 NSApplicationMain 里创建该单例对象,并启动事件循环。NSApplicationMain 的功能大约如下: 阅读全文
posted @ 2011-09-06 16:51 飘飘白云 阅读(1623) 评论(0) 推荐(0) 编辑
摘要: NSWorkspace 为应用程序提供如下服务: 1)打开,操作文件/设备,获取文件/设备信息 2)跟踪文件,设备以及数据库的变动 3)设置或获取文件的 Finder 信息 4)启动应用程序。 NSWorkspace 是个 Singleton 类,我们通过 sharedWorkspace 来访问它。比如下面的语句用 TextEdit 打开指定的文件: [[NSWorkspace sharedWorkspace] openFile:@"/Myfiles/README" withApplication:@"TextEdit"]; 阅读全文
posted @ 2011-09-05 11:32 飘飘白云 阅读(2211) 评论(2) 推荐(0) 编辑
摘要: 前面详细讲解了 Core Data 的框架以及设计的类,下面我们来讲解一个完全手动编写代码使用这些类的示例,这个例子来自苹果官方示例。在这个例子里面,我们打算做这样一件事情:记录程序运行记录(时间与 process id),并保存到xml文件中。我们使用 Core Data 来做这个事情。 示例代码下载:点击这里 阅读全文
posted @ 2011-09-03 23:03 飘飘白云 阅读(1228) 评论(0) 推荐(0) 编辑
摘要: Core data 是 Cocoa 中处理数据,绑定数据的关键特性,其重要性不言而喻,但也比较复杂。Core Data 相关的类比较多,初学者往往不太容易弄懂。计划用三个教程来讲解这一部分: 框架详解:讲解 Core data 框架,运作过程,设计的类; Core data应用程序示例:通过生成一个使用 Core data 的应用程序来讲解如何 在 XCode 4 中使用 Core data。 手动创建Core data示例:不利用框架自动生成代码,完全自己编写所有的 Core data 相关代码的命令行应用程序来深入讲解 Core data的使用。 本文为第一部份:框架详解 阅读全文
posted @ 2011-09-01 14:20 飘飘白云 阅读(2137) 评论(0) 推荐(1) 编辑
摘要: block 是 Apple 在 GCC 4.2 中扩充的新语法特性,其目的是支持多核并行编程。我们可以将 dispatch_queue 与 block 结合起来使用,方便进行多线程编程。 本文源代码下载:点击下载 阅读全文
posted @ 2011-08-26 12:03 飘飘白云 阅读(3156) 评论(2) 推荐(2) 编辑
摘要: iOS 支持多个层次的多线程编程,层次越高的抽象程度越高,使用起来也越方便,也是苹果最推荐使用的方法。下面根据抽象层次从低到高依次列出iOS所支持的多线程编程范式: 1, Thread; 2, Cocoa operations; 3, Grand Central Dispatch (GCD) (iOS4 才开始支持) 下面简要说明这三种不同范式: Thread 是这三种范式里面相对轻量级的,但也是使用起来最负责的,你需要自己管理thread的生命周期,线程之间的同步。线程共享同一应用程序的部分内存空间,它们拥有对数据相同的访问权限。你得协调多个线程对同一数据的访问,一般做法是在访问之前加锁,这会导致一定的性能开销。在 iOS 中我们可以使用多种形式的 thread: Cocoa threads: 使用NSThread 或直接从 NSObject 的类方法 performSelectorInBackground:withObject: 来创建一个线程。如果你选择thread来实现多线程,那么 NSThread 就是官方推荐优先选用的方式。 POSIX t 阅读全文
posted @ 2011-08-18 14:12 飘飘白云 阅读(1593) 评论(0) 推荐(0) 编辑
摘要: 要想将用户数据或设置永久保存起来,不受 app 更新重新安装的影响,我们只能将这写数据保存在 userDefaults 中或 Documents 目录下,这两个地方在官方文档中得到明确的支持。 阅读全文
posted @ 2011-08-17 13:44 飘飘白云 阅读(866) 评论(0) 推荐(0) 编辑
摘要: iOS应用程序的生命周期相比 Android 应用程序的生命周期来说,没那么简明易懂,但是也并不复杂。iOS应用程序的生命周期又根据系统是否支持多线程分为两种:不支持多线程的iOS4之前的系统以及支持多线程的iOS4及其之后的系统。 阅读全文
posted @ 2011-08-16 15:04 飘飘白云 阅读(802) 评论(0) 推荐(1) 编辑
摘要: 在入门级别的ObjC 教程中,我们常对从C++或Java 或其他面向对象语言转过来的程序员说,ObjC 中的方法调用(ObjC中的术语为消息)跟其他语言中的方法调用差不多,只是形式有些不同而已。本文详细深入浅出地讲解了ObjC中消息的方方面面。 阅读全文
posted @ 2011-08-15 17:44 飘飘白云 阅读(4878) 评论(1) 推荐(5) 编辑
摘要: NSString 的 stringByAddingPercentEscapesUsingEncoding 可以对 url 参数进行编码,但是有点小问题,不会对所有需要编码的字符都编码。我们可以通过 CFStringRef 的 CFURLCreateStringByAddingPercentEscapes 函数来封装这个功能。代码如下: 阅读全文
posted @ 2011-08-11 15:21 飘飘白云 阅读(733) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 下一页
本博客遵循 Creative Commons License “署名-非商业用途-保持一致”创作共用协议。 与我联系