Obj-C Basics
文章平均质量分 76
chuanyituoku
这个作者很懒,什么都没留下…
展开
-
Primitive values and Objects
Dictionaries cannot contain primitive values such as int and BOOL, only objects. The same thing goes for arrays. If you want to put an int or BOOL values into a dictionary or array, you have to conver原创 2013-03-18 06:56:26 · 604 阅读 · 0 评论 -
NSLog在Release版本也会调用 - - NSAssert NSCAssert
Remember to remove or comment out NSLog calls before shipping your app, as you probably don’t want your finished app to dump lots of messages into the console.原创 2013-10-30 21:54:55 · 1660 阅读 · 0 评论 -
Objective-C object messaging
1.To summarize, the following are the key elements of Objective-C object messaging:Message: A name (the selector) and a set of parameters sent to an object/class.Method: An Objective-C class o原创 2013-11-14 18:32:28 · 1014 阅读 · 0 评论 -
Implementing Runtime Object Messaging
Implementing Runtime Object MessagingThe runtime library includes functions that provide access to the following information (the functions are identified in parentheses):The class definition翻译 2013-11-17 14:03:19 · 763 阅读 · 0 评论 -
Dynamic Loading
Dynamic loading enables an Objective-C program to load both executable code and resources, as they are needed, instead of having to load all program components at application startup. The executable翻译 2013-11-16 11:37:19 · 1090 阅读 · 0 评论 -
Dynamic Binding
Dynamic BindingDynamic binding is the process of mapping a message to a method at runtime, rather than at compile time. In effect, the message and the object receiving the message aren’t set until翻译 2013-11-15 16:33:05 · 885 阅读 · 0 评论 -
Creating a Dynamic Proxy
还没完全掌握Creating a Dynamic ProxyThe final program demonstrates dynamic message forwarding using the Foundation FrameworkNSInvocation and NSProxy classes. In Chapter 3, you learned that Objecti翻译 2013-11-17 23:51:48 · 1019 阅读 · 0 评论 -
Foundation Framework Root Classes
Root ClassesA root, or base, class defines an interface and behaviors common to all classes below it in a class hierarchy. The Foundation Framework provides two root classes: NSObject and NSProxy.原创 2013-11-18 13:13:11 · 913 阅读 · 0 评论 -
Introspection
IntrospectionThe Foundation Framework NSObject APIs include numerous methods for performing object introspection. These methods dynamically query the runtime for the following types of information翻译 2013-11-16 11:44:46 · 1030 阅读 · 0 评论 -
Runtime Basics of Objective-C
Runtime ComponentsThe Objective-C runtime system has two main components: the compiler and the runtime library. Let’s take out a magnifying glass to examine these in more detail and see how they翻译 2013-11-16 23:47:58 · 838 阅读 · 0 评论 -
Extending a Program with Loadable Bundles
Extending a Program with Loadable BundlesObjective-C provides numerous dynamic programming features. These features increase the power and flexibility of the language, and enable you to modify a p原创 2013-11-17 17:22:52 · 1215 阅读 · 0 评论 -
NSProxy
NSProxy is an abstract superclass defining an API for objects that act as stand-ins for other objects or for objects that don’t exist yet. Typically, a message to a proxy is forwarded to the real ob转载 2013-11-18 00:07:44 · 895 阅读 · 0 评论 -
Interacting with the Runtime
Objective-C programs interact with the runtime system to implement the dynamic features of the language. In Figure 8-7, this interaction occurs at three levels:Objective-C source codeFoundation翻译 2013-11-17 15:13:30 · 797 阅读 · 0 评论 -
Dynamic typing
Dynamic typing enables the runtime to determine the type of an object at runtime; thereby letting runtime factors dictate what kind of object is to be used in your code. This is particularly benefic翻译 2013-11-15 16:29:24 · 860 阅读 · 0 评论 -
Using the Runtime APIs
Using the Runtime APIsNow you’ll create a program that uses the runtime APIs to dynamically create a class and a class instance, and then dynamically add a variable to the instance.In Xcode,原创 2013-11-17 18:44:05 · 855 阅读 · 0 评论 -
Predicates of Foundation Framework
PredicatesThis collection of classes provides a general means of specifying queries using predicates and expressions. A predicate is a logical operator that returns either a true or false value原创 2013-11-19 09:29:05 · 813 阅读 · 0 评论 -
Brief Intro to Network Services of Foundation Framework
Network ServicesThe Foundation Framework includes various APIs to support network services. In the next few chapters, you’ll learn about APIs used to access network host information, and explore转载 2013-11-19 09:45:58 · 790 阅读 · 0 评论 -
The Responder Chain
The Responder ChainA responder is an object that knows how to receive UIEvents directly (see the previous section). It knows this because it is an instance of UIResponder or a UIResponder subclass转载 2013-11-05 19:23:01 · 741 阅读 · 0 评论 -
Data Sources
Data SourcesA data source is like a delegate, except that its methods supply the data for another object to display. The chief Cocoa classes with data sources are UITableView, UICollectionView, UIPi转载 2013-11-05 18:49:55 · 1447 阅读 · 0 评论 -
Class Extensions
Class ExtensionsA class extension is a nameless category that exists solely as an interface section, like this:@interface MyClass ()// stuff goes here@endTypically, the only classes that wil原创 2013-11-02 08:57:00 · 644 阅读 · 0 评论 -
A nil-targeted action
A nil-targeted action is a target–action pair in which the target is nil. There is no designated target object, so the following rule is used: starting with the hit-test view (the view with which the转载 2013-11-05 19:55:33 · 798 阅读 · 0 评论 -
Key–Value Coding (KVC 目前看到的最好的解释版本)
Cocoa derives the name of an accessor from a string name at runtime through a mechanism calledkey–value coding, or simply KVC. The key is a string (an NSString) that names the value to be accessed.原创 2013-11-05 23:19:14 · 1878 阅读 · 0 评论 -
Actions
ActionsAn action is a message emitted by an instance of a UIControl subclass (acontrol) reporting a significant user event taking place in that control (seeChapter 7). The UIControl subclasses转载 2013-11-05 19:15:45 · 694 阅读 · 0 评论 -
Protocols
ProtocolsEvery reasonably sophisticated object-oriented language must face the fact that the hierarchy of subclasses and superclasses is insufficient to express the desired relationships between cla原创 2013-11-02 09:24:24 · 1020 阅读 · 0 评论 -
Delegation
Delegation:Delegation is an object-oriented design pattern, a relationship between two objects, in which the first object’s behavior is customized or assisted by the second. The second object is转载 2013-11-05 00:14:03 · 2319 阅读 · 0 评论 -
Categories
CategoriesA category is an Objective-C language feature that allows you to reach right into an existing class and inject additional methods. You can do this even if you don’t have the code for the c转载 2013-11-02 08:02:17 · 707 阅读 · 0 评论 -
Array Accessors
Key–value coding allows an object to implement a key as if its value were an array (or a set), even if it isn’t. This is similar to what I said earlier about how accessors function as a façade, puttin转载 2013-11-06 21:08:18 · 663 阅读 · 0 评论 -
Brief Intro to File System Utilities of Foundation Framework
File System UtilitiesThe File I/O classes consist of a collection of APIs for using files and directories. The classes enable you to represent file paths, perform basic operations with files and d转载 2013-11-19 10:37:58 · 901 阅读 · 0 评论 -
Brief Intro to Strings of Foundation Framework
StringsThe Foundation Framework includes a set of APIs used to manipulate character strings. The operations supported by these classes include:Creating, converting, and formatting stringsReadi原创 2013-11-18 15:00:24 · 879 阅读 · 0 评论 -
Brief Intro to Notifications of Foundation Framework
刚开始看Coalescing部分的时候有点疑惑,下面这个链接可以解惑 ^^`http://stackoverflow.com/questions/4668372/coalescing-while-using-nsnotificationqueueNotificationsThe Foundation Framework includes a collecti原创 2013-11-20 16:34:00 · 929 阅读 · 0 评论 -
Brief Intro to Interprocess Communication of Foundation Framework
Interprocess CommunicationThe Foundation Framework includes a collection of classes that support process-to-process communication. Specifically, they provide facilities for creating and using comm原创 2013-11-20 11:13:41 · 1177 阅读 · 0 评论 -
Brief Intro to URL Handling of Foundation Framework (Examples: Downloading from a URL)
URL HandlingThe URL handling classes are used for interacting with URLs and communicating with resources using standard Internet protocols (ftp, http, https, local files). The classes provide the原创 2013-11-20 10:43:14 · 1396 阅读 · 0 评论 -
Brief Intro to Concurrency and Threading of Foundation Framework
Concurrency and ThreadingThe concurrency and threading support classes implement functionality that both manage threads and support the concurrent execution of multiple sections of code using thre原创 2013-11-19 11:46:17 · 1211 阅读 · 0 评论 -
Brief Intro to Collections of Foundation Frameworks
CollectionsThe Foundation Framework collections classes manage collections of objects. Most collection classes have both an immutable and a mutable version. NSArray and NSMutableArray manage arr原创 2013-11-18 23:03:04 · 945 阅读 · 0 评论 -
Brief Intro to Archives and Serialization of Foundation Framework
Archives and SerializationThe Foundation Framework archives and serialization classes implement mechanisms for converting an object (i.e., an object graph) into an architecture-independent byte bu原创 2013-11-21 12:00:02 · 1458 阅读 · 0 评论 -
Brief Intro to Value Objects of Foundation Framework
Value ObjectsThe Foundation Framework value object classes implement object-oriented wrappers for primitive data types, along with general-purpose system information, tools, and locale support.原创 2013-11-18 16:48:04 · 1116 阅读 · 0 评论 -
How ARC does its work?
ARC does its work of inserting retain and release commands in two stages:It behaves very, very conservatively; basically, if in doubt, it retains — and of course it later releases. In effect, ARC转载 2013-11-07 00:05:57 · 745 阅读 · 0 评论 -
Key Paths
A key path allows you to chain keys in a single expression. If an object is key–value coding compliant for a certain key, and if the value of that key is itself an object that is key–value coding comp转载 2013-11-06 20:16:18 · 574 阅读 · 0 评论 -
KVC and Outlets
Key–value coding lies at the heart of how outlet connections work (Chapter 7). The name of the outlet in the nib is a string. Key–value coding turns the string into a hunt for appropriate accessors.转载 2013-11-06 20:01:04 · 716 阅读 · 0 评论 -
How Autorelease work?
Autorelease When you call a method and receive as a result what Chapter 5 calls a ready-made instance, how does memory management work? Consider, for example, this code:NSArray* myArray =转载 2013-11-07 21:10:13 · 727 阅读 · 0 评论