上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 34 下一页

2013年3月14日

摘要: 最近看了《Cocoa.Programming.for.Mac.OS.X 3rd》前八章,虽然第一遍的时候,可以很容易按照书中的介绍把例子程序正确的运行起来,但是并不知道为啥那样写代码就work了。对于一些隐藏的知识点,不便作为单独的文章来介绍,本文收集这些知识,介绍如下。1.NSUserInterfaceItemIdentification ProtocolThe NSUserInterfaceItemIdentification protocol is used to associate a unique identifier with objects in your user interf 阅读全文
posted @ 2013-03-14 12:04 做个不善的人 阅读(487) 评论(0) 推荐(0)
 

2013年3月13日

摘要: NSObject类定义了copy方法,但这只是一个convinence method for classes who adopt NSCopying协议。如果某个类没有实现copyWithZone:,那调用copy方法会抛出异常。NSObject类的方法mutableCopy对应于NSMutableCopying protocol的方法mutableCopyWithZone:NSObject does not itself support the NSCopying protocol. Subclasses must support the protocol and implement the 阅读全文
posted @ 2013-03-13 19:18 做个不善的人 阅读(298) 评论(0) 推荐(0)
 

2013年3月12日

摘要: NIB 和 XIB 的区别与联系NIB 和 XIB 都是 Interface Builder 的图形界面设计文档。引用《Cocoa Programming for Mac OSX》一书的说法,Interface Builder 把窗口、菜单栏以及窗口上的各种控件的对象都“冻结”在了一个 NIB文档里面了;程序运行时,这些对象将会“苏醒”。在终端下我们可以看到,NIB 其实是一个目录。它里面有两个也是后缀为 NIB 的文件:designable.nib 和 keyedobjects.nib。前者是一个 XML 文档,而后者则是一个二进制文件。Interface Builder 3 之后,引入了新 阅读全文
posted @ 2013-03-12 19:42 做个不善的人 阅读(4671) 评论(0) 推荐(0)
 
摘要: Benefitting from skip-level 1:1s — tips and pitfallshttp://www.anandtech.com/show/6777/understanding-camera-optics-smartphone-camera-trendshttp://arstechnica.com/features/2012/10/windows-8-and-winrt-everything-old-is-new-again/http://coolshell.cn/articles/8088.html 阅读全文
posted @ 2013-03-12 11:21 做个不善的人 阅读(117) 评论(0) 推荐(0)
 
摘要: KVO和KVC在Cocoa中往往联合使用,是很好的工具。在之前的文章中我们介绍了KVC,这里要介绍一下KVO了。Key-value observing provides a mechanism that allows objects to be notified of changes to specific properties of other objects. It is particularly useful for communication between model and controller layers in an application. (In OS X, the con 阅读全文
posted @ 2013-03-12 10:00 做个不善的人 阅读(2078) 评论(0) 推荐(0)
 

2013年3月6日

摘要: 我们知道KVC时,当valueForKey:和setValue:forKey:被调用时,对应key的accessor method会被调用,这里我们介绍Key-Value Coding Accessor,通过此文,我们应该对KVC和Accessor的关系会更清楚。之前我们也介绍过类的ivars与owning object共有4种关系:attribute, to-one relationship , ordered to-many relationship, unordered to-many relationship, 介绍Accessor也要根据这4中关系介绍。Basic Accessor 阅读全文
posted @ 2013-03-06 19:58 做个不善的人 阅读(965) 评论(0) 推荐(0)
 

2013年3月5日

摘要: 之前的一篇文章介绍了实现Key-Value Coding的5种方法,但用的最多的还是基于NSKeyValueCoding协议的。本文介绍的都是基于这个前提的。key是啥?A key is a string that identifies a specific property of an object. Typically, a key corresponds to the name of anaccessor method or instance variable in the receiving object. Keys must use ASCII encoding, begin wit 阅读全文
posted @ 2013-03-05 12:00 做个不善的人 阅读(3303) 评论(0) 推荐(0)
 

2013年3月4日

摘要: 简介Key-Value Coding(以后都简称为KVC),是一种设计模式,其想法就是不用对对象的某个属性进行设置或者读取,而是使用key来访问。这种模式在Map中是很容易理解的,因为Map/Dictionary中保存的就是key-value 对,对这个pair进行操作,都是通过key来操作的。KVC就不仅仅限于Map/Dictionary,而是把它扩展到了普通对象。任何不同对象的instance variable都可以用KVC。使用KVC的好处就是可以将变量本身与他要关联的属性进行解耦,比如有个值,代表下载进度,进度一方面要在UI的进度条上显示出来,一方面用数字的方式显示在另一个地方(Con 阅读全文
posted @ 2013-03-04 13:52 做个不善的人 阅读(611) 评论(0) 推荐(0)
 

2013年2月28日

摘要: 概述protocol类似C++中的抽象类和Java中的interface。分为Formal protocol和informal protocol两种,其中在Objective C 2.0之前,informal protocol是Cocoa中实现delegate的重要基础。因为Objective C 2.0引入了@optional和@required关键字。delegate是一种常用的设计模式,而不是Objective C或者Cocoa的feature,也没有任何关键字是给delegate用的。protocolFormal protocol 声明了一个客户类需要实现的方法列表,它有自己独立的de 阅读全文
posted @ 2013-02-28 18:03 做个不善的人 阅读(4927) 评论(0) 推荐(0)
 

2013年2月27日

摘要: 在 Objective-C 中的类实现中经常看到这两个关键字 ”self” 和 ”super”,以以前 oop 语言的经验,拿 c++ 为例,self 相当于 this,super 相当于调用父类的方法,这么看起来是很容易理解的。以下面的代码为例:@interface Person:NSObject { NSString* name;}- (void) setName:(NSString*) yourName;@end@interface PersonMe:Person { NSUInteger age;}- (void) setAge:(NSUInteger) age;- (v... 阅读全文
posted @ 2013-02-27 16:15 做个不善的人 阅读(219) 评论(0) 推荐(0)
 
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 34 下一页