Cocoa是苹果公司为Mac OS X所创建的原生面向对象的API,是Mac OS X上五大API之一(其它四个是Carbon、POSIX、X11和Java)。Cocoa 应用程序一般在苹果公司的开发工具Xcode(前身为Project Builder)和Interface Builder上用Objective-C写成。不过,通过Java bridge、PasCocoa、PyObjC、CamelBones以及RubyCocoa等桥接技术,Java、Clozure CL、LispWorks、Object P
声明:转自cocoa china  作者:navy   首先在自己要被打开的app的info.plist中自定义url types.   然后在另一个app中的响应事件中如此编写代码:   NSURL *url = [NSURL URLWithString:@"myapp://com.rumtel.myapp"]; [[UIApplication sharedApplication] openUR
注意class method中什么时候用self,什么时候用super!   #import "PostOfficeProxy.h" #import "HTTPPostOffice.h" static PostOffice *_sharedPostOffice = nil; @implementation PostOfficeProxy @synthesize realPostOffice
     话说学习Object-c有很多入门书籍,在这里就不一一列举了。但是这些书都有一个小毛病,就是翻译的语句,有的时候很让人费解。前几天在逛cocoachina的时候看到了一个帖子,以为名为beanwolf的会员写了原创的学习Object-c的笔记,拜读之后感觉非常好!感觉写的很精练,都是编程的时候需要注意的东西和不容易理解的内容。      第一季:《Object-C 的语法与 Cocoa
plist文件是标准的xml文件,在cocoa中可以很简单地使用。这里介绍一下使用方法: 以下代码在Mac和iPhone中均适用。   写入plist文件: NSMutableDictionary *  dict  =   [   [   NSMutableDictionary   alloc   ]   initWithContentsOfFile : @ "/Sample.plist"   ]
引用:http://hi.csdn.net/hou_cocoa Cocoa 是在Mac OS X系统上原生的一个编译环境。他包含两个框架,其实就是一系列的类库,Foundation和AppKit。 在你的iPhone等掌上设备上,使用的则是他的一个子类 - Cocoa Touch 。他所支持的Foundation框架与Cocoa相同,但他的用户图形类库为UIKit,它是为掌上设备特殊设计,提供了你
键值编码(KVC)是Cocoa一个通用的用于获取和设定值的一个协议。在编程中,“通用”这词是用于描述一种可以适用于不同情境的实现方式。通用代码可以减少项目中代码总量并使得软件可以处理程序员无法预知的情景。Cocoa至始至终都很重视通用、可复用代码。 比如,设定一个对象first name和lastname的一种不通用的方式如下: [person setFirstName: @"Scott"]; [
CoreData 介绍 在Cocoa环境下,如果你想使用数据库(如sqlite),你可以使用sql语句的方式通过相关的工具类进行数据库的直接操作。当然你也可以通过别人封装之后的一些简单框架,使得你的操作更加简单(如FMDB BNRPersistence)。   Cocoa框架本身提供了CoreData这个API可方便的让开发者通过操作对象的方式在操作数据库。CoreData是一个对象图(objec
Source Annotations 主要支持几种检查 Specific Topics Annotations to Enhance Generic Checks Null Pointer Checking Attribute 'nonnull' Mac OS X API Annotations Cocoa & Core Foundation Memory Management Annotatio
Three20 是由Facebook所發展的一套iPhone框架,最初 的目的是為了建構Facebook的iPhone版應用程式,後來便將framework開放原始碼提供給廣大的iPhone開發者使用。 使用Three20的軟體 雖然一般各位在使用iPhone軟體的經驗中,對於Three20的存在沒有特別的印象,但是事實上Three20出現在相當多的應用軟體中,像是 Facebook、Flickr
作者: DevBean 日期: 2011 年 03 月 24 日   self = [super init...] 在上一篇提到的代码中,最不可思议的可能就是这句 self = [super init...]。回想一下,self 是每个方法的一个隐藏参数,指向当前对象。因此,这是一个局部变量。那么,为什么我们要改变一个局部变量的值呢?事实上,self 必须要改变。我们将在下面解释为什么要这样做。
摘自:Cocoa基本原理指南       根类提供了所有对象公有的基本行为和接口的定义。根类连同Objective-C语言,是Cocoa直接访问Objective-C运行环境或与之交互的基本途径。Cocoa对象的大部分对象行为能力都是从根类得到的。Cocoa提供了两个根类:NSObject和NSProxy。Cocoa将后者定义为抽象类,用于表示其它对象的替身对象。因此NSProxy类在分布式对象架
摘自:Cocoa基本原理指南       每个Objective-C对象都隐藏着一个数据结构,它的第一个成员变量—或者说是实例变量—是“isa指针”(大多数剩下的成员变量由对象的类或超类来定义)。顾名思义,isa指针指向的是对象的类,这个类也是一个对象,有自己的权限,是根据类的定义编译而来的。类对象负责维护一个方法调度表,该表本质上是由指向类方法的指针组成的;类对象中还保留一个超类的指针,该指针又
摘自:Cocoa基本原理指南         Cocoa框架的核心是Foundation和Application Kit框架。Foundation框架定义了一些基础类,可以用于各种类型的Cocoa程序。Foundation框架和Application Kit框架的区分标准在于用户界面。          Foundation类层次的根是NSObject类,它(和NSObject及NSCopying
作者: DevBean 日期: 2011 年 03 月 22 日   Protocol 对象 运行时,协议就像是类对象,其类型是 Protocol*。例如,conformsToProtocol: 方法就需要接受一个 Protocol* 类型的参数。@protocol 关键字不仅用于声明协议,还可以用于根据协议名返回 Protocol* 对象。 Protocol* myProtocol = @pro
  作者: DevBean 日期: 2011 年 03 月 21 日 简单继承 Objective-C 也有继承的概念,但是不能多重继承。不过,它也有别的途径实现类似多重继承的机制,这个我们后面会讲到。 C++ Objective-C class Foo : public Bar, protected Wiz { } @interface Foo : Bar // 单
作者: DevBean 日期: 2011 年 03 月 21 日     消息和消息传输 给 nil 发送消息 默认情况下,给 nil 发送消息也是合法的,只不过这个消息被忽略掉了。这种机制可以避免很多检查指针是否为空的情况。不过,有些编译器,比如 GCC,也允许你通过编译参数的设置关闭这一特性。 将消息代理给未知对象 代理 delegation 是 Cocoa 框架中 UI 元素的一个很常见的部
作者: DevBean 日期: 2011 年 03 月 20 日     成员函数的指针:选择器 在 Objective-C 中,方法具有包含了括号和标签的特殊语法。普通的函数不能使用这种语法。在 Objective-C 和 C 语言中,函数指针具有相同的概念,但是对于成员函数指针则有所不同。 在 C++ 中,尽管语法很怪异,但确实兼容 C 语言的:成员函数指针也是基于类型的。 C++ class
作者: DevBean 日期: 2011 年 03 月 19 日     既然是面向对象语言,类和对象显然是应该优先考虑的内容。鉴于本系列已经假定你已经熟悉 C++ 语言,自然就不会去解释类和对象的含义。我们直接从 Objecti-C 和 C++ 的区别开始说起。 Objetive-C 使用的是严格的对象模型,相比之下,C++ 的对象模型则更为松散。例如,在 Objective-C 中,所有的类都
作者: DevBean 日期: 2011 年 03 月 18 日     关键字 Objective-C 是 C 语言的超集。类似于 C++,良好的 C 源代码能够直接被 Objective-C 编译器编译。不同于 C++ 直接改变 C 语言的设计思路,Objective-C 仅仅是在 C 语言的基础上增加了一些概念。例如,对于类的概念,C++ 是增加了一个全新的关键字 class,把它作为语言内
摘自:       库函数很少对使用它们的程序进行限制,您可以在任何需要的时候进行调用。另一方面,面向对象的库或框架中的方法和类的定义紧密相关,如果您没有创建或保留可以访问那些定义的对象,就不能对其进行调用。而且,在大多数程序中,对象必须至少和一个对象相连接,才能在程序网络中发挥作用。一个类只负责定义一个程序组件,为了访问类提供的服务,您必须将它连接到应用程序结构中。也就是说,框架类生成一些行为类
  id       The id type tells the compiler that a variable points to an object but doesn’t give the compiler any more specific information about the kind of object, hence the object is anonymous.     U
    源自:《cocoa设计模式》     Selectors identify the messages that are sent to Objective-C objects.They’re used by the receivers of messages to select which methods will be performed. Selectors provide much
摘自:http://www.apple.com.cn/developer/mac/library/documentation/Cocoa/Conceptual/CocoaFundamentals/Introduction/chapter_1_section_1.html       使用Objective-C框架中的类及其方法和使用一个C函数库不同。使用C函数库时,您可以根据程序的具体需求灵活选择
摘自:http://www.apple.com.cn/developer/mac/library/documentation/Cocoa/Conceptual/CocoaFundamentals/Introduction/chapter_1_section_1.html         Foundation和Application Kit框架中的一些类只允许创建单件对象,即这些类在当前进程中的唯一
摘自:http://www.apple.com.cn/developer/mac/library/documentation/Cocoa/Conceptual/CocoaFundamentals/Introduction/chapter_1_section_1.html 类簇 类簇是Foundation框架中广泛使用的设计模式。类簇将一些私有的、具体的子类组合在一个公共的、抽象的超类下面,以这种方
摘自:http://www.apple.com.cn/developer/mac/library/documentation/Cocoa/Conceptual/CocoaFundamentals/Introduction/chapter_1_section_1.html         内省是对象揭示自己作为一个运行时对象的详细信息的一种能力。这些详细信息包括对象在继承树上的位置,对象是否遵循特定
摘自:http://www.apple.com.cn/developer/mac/library/documentation/Cocoa/Conceptual/CocoaFundamentals/Introduction/chapter_1_section_1.html         Cocoa对象的创建总是分成两个阶段:对象分配和初始化。     Cocoa会从应用程序的虚存区中为对象分配足够
今日大喜 Cocoa programming for mac os x 3rd 翻译版(仅16章).pdf 入門必看, 已經入門的, 看樂再看! 翻譯版本的看過去看E文原版的! 一定要看! 不然馬上iPhone SDK 3.0 會跟不上的!!! (SDK3.0 Beta3 今天已經更新, push notify在iDP得AppleID裡邊注冊, 然後試用) 正在更新中: 零, cocoaChine
摘选自:http://www.apple.com.cn/developer/mac/library/documentation/Cocoa/Conceptual/CocoaFundamentals/Introduction/chapter_1_section_1.html         Cocoa和Objective-C选择一种主动的、策略驱动的例程来保持对象,并在不再需要的时候进行清理。这种例
大部分有一点其他平台开发基础的初学者看到XCode,第一感想是磨拳擦掌,看到Interface Builder之后,第一感想是跃跃欲试,而看到Objective-C的语法,第一感想就变成就望而却步了。好吧,我是在说我自己。   如 果你和我一样,对苹果相关的开发:Mac OS X或是iPhone有兴趣,但是第一时间看到Objective-C就会头疼并伴有发烧症状的话,疗效比较好的快速治疗方法是阅读