Effective Objective-C 2.0
文章平均质量分 88
chuanyituoku
这个作者很懒,什么都没留下…
展开
-
Effective Objective-C 2.0: Item 45: Use dispatch_once for Thread-Safe Single-Time Code Execution
Item 45: Use dispatch_once for Thread-Safe Single-Time Code ExecutionThe Singleton design pattern—no stranger in the Objective-C world—is usually achieved through a class method called something l原创 2013-12-14 14:29:26 · 1365 阅读 · 0 评论 -
Effective Objective-C 2.0: Item 42: Prefer GCD to performSelector and Friends
Item 42: Prefer GCD to performSelector and FriendsThanks to the extremely dynamic nature of Objective-C (see Item 11), a few methods defined on NSObject allow you to call any method you wish. Th原创 2013-12-12 21:32:57 · 2008 阅读 · 0 评论 -
Effective Objective-C 2.0: Item 41: Prefer Dispatch Queues to Locks for Synchronization
Item 41: Prefer Dispatch Queues to Locks for SynchronizationSometimes in Objective-C, you will come across code that you’re having trouble with because it’s being accessed from multiple threads. T原创 2013-12-12 21:14:16 · 5224 阅读 · 0 评论 -
Effective Objective-C 2.0: Item 38: Create typedefs for Common Block Types
Item 38: Create typedefs for Common Block TypesBlocks have an inherent type; that is, they can be assigned to an appropriately typed variable. The type is made up of the parameters the block takes原创 2013-12-11 22:20:32 · 948 阅读 · 0 评论 -
Effective Objective-C 2.0: Item 37: Understand Blocks
Effective Objective-C 2.0介绍Blocks的文章,有些论点比较新颖,觉得不错,值得一看原创 2013-12-11 21:55:51 · 1799 阅读 · 0 评论 -
Effective Objective-C 2.0: Item 36: Avoid Using retainCount (Deprecated)
Item 36: Avoid Using retainCountObjective-C uses reference counting for memory management (seeItem 29). Each object has a counter that determines how many other things are interested in keeping原创 2013-12-11 15:29:33 · 1504 阅读 · 0 评论 -
Effective Objective-C 2.0: Associated Objects
例子有点少, 内存管理方面不清楚~~, Item 10: Use Associated Objects to Attach Custom Data to Existing ClassesSometimes, you want to associate information with an object. Normally, you would do this by sub原创 2013-12-03 14:51:05 · 975 阅读 · 0 评论 -
Effective Objective-C 2.0: Item 35: Use Zombies to Help Debug Memory-Management Problems
Item 35: Use Zombies to Help Debug Memory-Management ProblemsDebugging memory-management issues can be painful. Sending a message to a deallocated object is completely unsafe, as one would expect.原创 2013-12-10 21:35:05 · 1511 阅读 · 0 评论 -
Effective Objective-C 2.0: Item 32: Beware of Memory Management with Exception-Safe Code
Item 32: Beware of Memory Management with Exception-Safe CodeExceptions are a language feature offered by many modern languages. Exceptions do not exist in pure C but do in both C++ and Objective-原创 2013-12-10 19:58:01 · 878 阅读 · 0 评论 -
Effective Objective-C 2.0: Item 43: Know When to Use GCD and When to Use Operation Queues
Item 43: Know When to Use GCD and When to Use Operation QueuesGCD is a fantastic technology, but it is sometimes better to use other tools that come as part of the standard system libraries. Knowi原创 2013-12-12 21:54:01 · 1292 阅读 · 0 评论 -
Effective Objective-C 2.0: Item 12: Understand Message Forwarding
这点很有意思,理清楚了Message Forward的过程(特别那个例子有意思),但是感觉 具体例子太少了~~ 难道是我没有理解透?Item 12: Understand Message ForwardingItem 11 explains why it’s important to understand the way messages are sent to objec原创 2013-12-05 22:47:41 · 1281 阅读 · 0 评论 -
Effective Objective-C 2.0:Item 50: Use NSCache Instead of NSDictionary for Caches
Item 50: Use NSCache Instead of NSDictionary for CachesA common problem encountered when developing a Mac OS X or an iOS application that downloads images from the Internet is deciding what to do原创 2013-12-15 18:38:20 · 9518 阅读 · 0 评论 -
Effective Objective-C 2.0:Item 48: Prefer Block Enumeration to for Loops
Item 48: Prefer Block Enumeration to for LoopsEnumerating a collection is a very common task in programming, and modern Objective-C has many ways to do so, ranging from standard C loops to NSEnume原创 2013-12-14 23:29:41 · 1446 阅读 · 0 评论 -
Effective Objective-C 2.0: Item 44: Use Dispatch Groups to Take Advantage of Platform Scaling
Item 44: Use Dispatch Groups to Take Advantage of Platform ScalingDispatch groups are a GCD feature that allows you to easily group tasks. You can then wait on that set of tasks to finish or be no原创 2013-12-14 13:40:24 · 3296 阅读 · 0 评论 -
Effective Objective-C 2.0: Item 47: Familiarize Yourself with the System Frameworks
Item 47: Familiarize Yourself with the System FrameworksWhen writing an application in Objective-C, you will almost certainly use the system frameworks, which provide many of the common classes, s原创 2013-12-14 22:59:22 · 916 阅读 · 0 评论 -
Effective Objective-C 2.0:Item 14 Class Object
Item 14: Understand What a Class Object IsObjective-C is extremely dynamic in nature. Item 11 explains how the implementation for a given method call is looked up at runtime, and Item 12 explain原创 2013-12-06 00:10:51 · 981 阅读 · 0 评论 -
Effective Objective-C 2.0: Method Swizzling to Debug Opaque Methods
运行时替换方法实现(通常是新增一个方法(category),然后swap); 这里推荐了一个,debug时候有点用Item 13: Consider Method Swizzling to Debug Opaque MethodsThe method to call when a message is sent to an object in Objective-C is原创 2013-12-05 23:53:24 · 1305 阅读 · 0 评论 -
Effective Objective-C 2.0: Item 39: Use Handler Blocks to Reduce Code Separation
Item 39: Use Handler Blocks to Reduce Code SeparationA common paradigm in programming a user interface is to perform tasks asynchronously. In this way, the thread that services user interface disp原创 2013-12-12 15:14:38 · 1254 阅读 · 0 评论 -
Effective Objective-C 2.0: Item 40: Avoid Retain Cycles Introduced by Blocks
Item 40: Avoid Retain Cycles Introduced by Blocks Referencing the Object Owning ThemBlocks can very easily introduce retain cycles if they are not considered carefully. For example, the following原创 2013-12-12 20:41:46 · 1121 阅读 · 0 评论 -
Effective Objective-C 2.0: Item 6: Understand Properties
前面的runtime没看懂- -; 后面的atomicity 和 thread-safe 说明, 很好很强大 ^ ^Item 6: Understand PropertiesProperties are an Objective-C feature providing encapsulation of the data an object contains. Objects i原创 2013-12-02 23:55:12 · 1088 阅读 · 0 评论 -
Effective Objective-C 2.0:Item 7: Access Instance Variables
initializer: set 时候直接访问ivar;get时候看具体;一般情况下,set用accessors; get用ivar快 Item 7: Access Instance Variables Primarily Directly When Accessing Them InternallyProperties should always be used to原创 2013-12-03 00:14:30 · 1491 阅读 · 0 评论 -
Effective Objective-C 2.0: Object Equality
这篇挺有用的,指出了很多注意点;以后用到Object Equality可以参考Item 8: Understand Object EqualityBeing able to compare objects for equality is extremely useful. However, comparing using the == operator is usually原创 2013-12-03 11:57:45 · 1018 阅读 · 0 评论 -
Effective Objective-C 2.0:Item 26: Avoid Properties in Categories
Item 26: Avoid Properties in CategoriesA property is a way of encapsulating data (see Item 6). Although it is technically possible to declare a property in a category, you should avoid doing so原创 2013-12-08 16:37:24 · 964 阅读 · 0 评论 -
Effective Objective-CItem 24: Use Categories to Break Class Implementations into Manageable Segments
Item 24: Use Categories to Break Class Implementations into Manageable SegmentsA class can easily become bloated with many methods all interspersed throughout a huge implementation file. Sometim原创 2013-12-08 16:04:11 · 777 阅读 · 0 评论 -
Effective Objective-C 2.0: Delegate and Data Source Protocols
iOS开发经最常见的模式:Delegate Pattern,定义和例子都是属于深入浅出的类型;可以帮助像我这样的初学者更好理解代理模式,平常对这个概念都是糊里糊涂的。。。Delegate protocol and Data Source Protocol 结合另一篇:Delegatehttp://blog.csdn.net/chuanyituoku/article/details/16890645Item 23: Use Delegate and Data Source Protocols f原创 2013-12-08 00:23:23 · 2538 阅读 · 0 评论 -
Effective Objective-C 2.0: Item 16:Designated Initializer
Item 16: Have a Designated InitializerAll objects need to be initialized. When initializing an object, you sometimes don’t need to give it any information, but often you do. This is usually the ca原创 2013-12-07 10:27:13 · 1142 阅读 · 0 评论 -
Effective Objective-C 2.0: Item 22: Understand the NSCopying Protocol
Item 22: Understand the NSCopying ProtocolA common thing to want to do with an object is to copy it. In Objective-C, this is done through the use of the copy method. The way in which you can sup原创 2013-12-07 23:02:57 · 5657 阅读 · 0 评论 -
Effective Objective-C 2.0: Item 21: Understand the Objective-C Error Model
Item 21: Understand the Objective-C Error ModelMany modern languages, including Objective-C, have exceptions. If you have come from a Java background, you’ll most likely be accustomed to using exc原创 2013-12-07 19:05:32 · 890 阅读 · 0 评论 -
Effective Objective-C 2.0:Item 20: Prefix Private Method Names
Item 20: Prefix Private Method NamesIt’s extremely common for a class to do much more than it appears on the outside. When writing a class implementation, it is common to write methods that are us原创 2013-12-07 17:50:23 · 1114 阅读 · 0 评论 -
Effective Objective-C 2.0: Item 17: Implement the description Method
如何重载description 和 debugDescription 赞Item 17: Implement the description MethodWhile debugging, you will often find it useful to print out an object to inspect it. One way is to write loggin原创 2013-12-07 11:09:31 · 858 阅读 · 0 评论 -
Effective Objective-C 2.0: Class-Continuation Category == Class Extention
Item 27: Use the Class-Continuation Category to Hide Implementation DetailOften, you will want a class to contain more methods and instance variables than are exposed externally. You could expose原创 2013-12-08 20:41:35 · 1644 阅读 · 0 评论 -
Effective Objective-C 2.0: Item 3: Prefer Literal Syntax over the Equivalent Methods
Item 3: Prefer Literal Syntax over the Equivalent Methods1. The literal syntax also works for expressions:Click here to view code imageint x = 5;float y = 6.32f;NSNumber原创 2013-12-02 11:03:52 · 1045 阅读 · 0 评论 -
Effective Objective-C 2.0: Item 29: Understand Reference Counting
Item 29: Understand Reference CountingObjective-C uses reference counting for memory management, meaning that every object has a counter that is incremented and decremented. You increment the coun原创 2013-12-08 23:34:07 · 965 阅读 · 0 评论 -
Effective Objective-C 2.0: Item 4: Prefer Typed Constants to Preprocessor #define
Item 4: Prefer Typed Constants to Preprocessor #define曾经面试被被问到 Preprocessor #define 有什么缺点, 这篇文章很好解答了这个问题。 ^ ^When writing code, you will often want to define a constant. For example, consider原创 2013-12-02 11:35:15 · 973 阅读 · 0 评论 -
Effective Objective-C 2.0:Item 25: Always Prefix Category Names on Third-Party Classes
Item 25: Always Prefix Category Names on Third-Party ClassesCategories are commonly used to add functionality to an existing class for which you don’t own the source code. This is an extremely pow原创 2013-12-08 16:22:45 · 1404 阅读 · 0 评论 -
Effective Objective-C 2.0: Item 31: Release References and Clean Up Observation State Only in deallo
Item 31: Release References and Clean Up Observation State Only in deallocAn object going through its life cycle eventually ends up being deallocated, which is where the dealloc method enters. I原创 2013-12-09 09:41:10 · 1353 阅读 · 0 评论 -
Effective Objective-C 2.0: Item 30: Use ARC to Make Reference Counting Easier
Item 30: Use ARC to Make Reference Counting EasierReference counting is a fairly easy concept to understand (see Item 29). The semantics of where retains and releases need to appear are easily e原创 2013-12-09 09:10:05 · 1376 阅读 · 0 评论 -
Effective Objective-C: Minimize Importing Headers in Headers
Effective Objective-C 2.0的第二点:Minimize Importing Headers in Headers原创 2013-12-02 00:02:03 · 1390 阅读 · 0 评论 -
Objective-C’s Roots: Difference Between messaging structure and function calling; and the Runtime
Item 1: Objective-C’s RootsObjective-C is similar to other object-oriented languages, such as C++ and Java, but also differs in many ways. If you have experience in another object-oriented languag原创 2013-12-01 23:29:21 · 1157 阅读 · 0 评论 -
Effective Objective-C 2.0:Item 15: Use Prefix Names to Avoid Namespace Clashes
可惜没有指出怎么改第三方library名字的具体操作Item 15: Use Prefix Names to Avoid Namespace ClashesUnlike other languages, Objective-C has no built-in namespace feature. For this reason, it is easy for names t原创 2013-12-06 11:59:16 · 831 阅读 · 0 评论