Memory Management
文章平均质量分 82
chuanyituoku
这个作者很懒,什么都没留下…
展开
-
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 · 1378 阅读 · 0 评论 -
Implementing __strong ownership qualifier
__strong ownership qualifierLet’s see how the variables that are qualified with __strong work, using NSMutableArray class method “array” as an example. We see under the hood of calling the method原创 2013-12-17 22:24:33 · 598 阅读 · 0 评论 -
Implementing __weak ownership qualifier
__weak ownership qualifierNext, we learn about the __weak ownership qualifier. We show what happens when an object is disposed of or when a newly created object is assigned and how an object is ad原创 2013-12-17 22:25:57 · 1021 阅读 · 0 评论 -
Implementing __autoreleasing ownership qualifier
__autoreleasing ownership qualifierAssigning an object to any variables qualified with __autoreleasing is equivalent to calling the autorelease method in a non-ARC environment. Let’s see how it原创 2013-12-17 22:32:34 · 782 阅读 · 0 评论 -
Memory Segments for Blocks
Memory Segments for BlocksIn the previous sections, we’ve learned that a Block is implemented as an automatic variable of a struct, and the struct is generated for the Block. Also __block variab原创 2013-12-18 21:46:20 · 870 阅读 · 0 评论 -
Circular Reference with Blocks
Circular Reference with BlocksIf a Block uses an automatic variable of object type with a __strong qualifier, when the Block is copied from the stack to the heap, the Block has the ownership of th原创 2013-12-19 13:55:50 · 1271 阅读 · 0 评论 -
Memory Segments for __block Variables
Memory Segments for __block VariablesIn the previous section, we’ve learned only about Blocks. How about __block variables? When a Block uses a __block variable and is copied from the stack to the原创 2013-12-18 23:02:14 · 661 阅读 · 0 评论 -
Blocks Capturing Objects
Capturing ObjectsWe saw examples using integer variables. Next, let’s see what will happen when an object is used from a Block. In the next source code, an object of the NSMutableArray class is原创 2013-12-19 00:04:10 · 698 阅读 · 0 评论 -
Blocks: Conclusion
The following rules apply to variables used within a block:Global variables are accessible, including static variables that exist within the enclosing lexical scope.Parameters passed to the原创 2013-12-20 16:27:01 · 708 阅读 · 0 评论 -
Blocks: __block Variables and Objects
__block Variables and ObjectsThe __block specifier can be used for any type of automatic variable. Let’s see how it is used for an id-type automatic variable to assign an Objective-C object.__原创 2013-12-19 11:29:49 · 1055 阅读 · 0 评论 -
Swift: Memory Management -> Weak, Unowned, Strong
Weak 和Objective-C的很像 (auto niled)Weak原创 2014-06-29 23:22:25 · 1136 阅读 · 0 评论 -
Array under ARC
ArrayI explained the ownership specifiers with ‘id’ or object type variables. In this section, I explain how we can use the specifiers with arrays.The following source code shows how to use a原创 2013-12-17 21:03:53 · 604 阅读 · 0 评论 -
ARC Rules
ARC RulesTo write and compile source code for ARC, you have to take care of a few things. Just by following the rules in the list below, you can write source code for an ARC-enabled environment wi原创 2013-12-17 20:07:42 · 1195 阅读 · 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 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 · 967 阅读 · 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 · 882 阅读 · 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 · 1512 阅读 · 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: 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 评论 -
Ownership of Memory Management
You Have Ownership of Any Objects You CreateYou use a method whose name begins with one of the following, which means that you are creating an object and have ownership of it.allocnewcop原创 2013-12-15 22:28:09 · 655 阅读 · 0 评论 -
Implementing alloc, retain, release, and dealloc
Implementing alloc, retain, release, and deallocMany parts of OS X and iOS are publicly available as open source software at Apple Open Source.1 As mentioned above, the alloc, retain, release,原创 2013-12-16 11:43:35 · 1259 阅读 · 0 评论 -
Implementing Autorelease
AutoreleaseBecause of its name, you might think that autorelease is something like ARC. But it is not. It is more like “automatic variable” in the C language.7Let’s start by reviewing what aut原创 2013-12-16 16:53:19 · 1063 阅读 · 0 评论 -
Ownership qualifiers of Objective-C: In Details
详细介绍Objective-C的Ownership Qualifier,帮助更好理解ARC是怎么回事,实现细节;绝对算是专业级的讲解,找工作前理清思路、提高自信的必需品。With ARC, ‘id’ and object type variables must have one of the following four ownership qualifiers:__strong__weak__unsafe_unretained__autoreleasing原创 2013-12-17 10:44:30 · 1931 阅读 · 0 评论 -
ARC between Foundation and Core Foundation
A bridged cast is a C-style cast annotated with one of three keywords:(__bridge T) op casts the operand to the destination type T. If T is a retainable object pointer type, then op must have a n原创 2014-07-25 10:53:52 · 521 阅读 · 0 评论