当前位置: 代码迷 >> Iphone >> OC内存管理引用计数的有关问题
  详细解决方案

OC内存管理引用计数的有关问题

热度:38   发布时间:2016-04-25 05:59:54.0
OC内存管理引用计数的问题
新创建的对象引用计数应该是1吧,但是这个为什么不是
XCode 4.6.2

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        NSSet * set = [[NSSet alloc] init];
        NSLog(@"NSSet retainCount : %zi", set.retainCount);
        [set release];
        
        NSString *string = [[NSString alloc] init];
        NSLog(@"NSString retainCount : %zi", string.retainCount);
        [string release];
        
        NSArray *array = [[NSArray alloc] init];
        NSLog(@"NSArray retainCount : %zi", array.retainCount);
        
        NSMutableArray *mutableArray = [[NSMutableArray alloc] init];
        NSLog(@"mutableArray retainCount : %zi", mutableArray.retainCount);
        [mutableArray release];
    }
    return 0;
}


内存管理

------解决方案--------------------
Typically there should be no reason to explicitly ask an object what its retain count is (see retainCount). The result is often misleading, as you may be unaware of what framework objects have retained an object in which you are interested. In debugging memory management issues, you should be concerned only with ensuring that your code adheres to the ownership rules.
  相关解决方案