先随便记一下

View Code
/** ===== NSString ===== */
NSString
* string = @"hello, 1901";
NSLog(
@"string retainCount: %lu", [string retainCount]);
// output: string retainCount: 1152921504606846975

NSString
* string = [[NSString alloc] initWithString:@"hello, 1901"];
NSLog(
@"string retainCount: %lu", [string retainCount]);
// output: string retainCount: 1152921504606846975

NSString
* string = [[NSString alloc] initWithFormat:@"%@", @"hello, 1901"];
NSLog(
@"string retainCount: %lu", [string retainCount]);
// output: string retainCount: 1

NSString
* string = [[NSString alloc] initWithUTF8String:"hello, 1901"];
NSLog(
@"string retainCount: %lu", [string retainCount]);
// output: string retainCount: 1

/** ===== NSMutableArray & NSArray ===== */
NSMutableArray
* array = [[NSMutableArray alloc] init];
NSLog(
@"array retainCount: %lu", [array retainCount]);
// array retainCount: 1

NSArray
* array = [[NSArray alloc] init];
NSLog(
@"array retainCount: %lu", [array retainCount]);
// output: array retainCount: 2

NSArray
* array = [[NSArray alloc] initWithObjects:@"hello, 1901", nil];
NSLog(
@"array retainCount: %lu", [array retainCount]);
// output: array retainCount: 1

NSArray
* array1 = [[NSArray alloc] init];
NSLog(
@"array1 retainCount: %p", array1);
NSArray
* array2 = [[NSArray alloc] init];
NSLog(
@"array2 retainCount: %p", array2);
NSArray
* array3 = [[NSArray alloc] init];
NSLog(
@"array3 retainCount: %p", array3);
/*
output:
array1 retainCount: 0x10010d050
array2 retainCount: 0x10010d050
array3 retainCount: 0x10010d050
*/


NSString
* string = [NSString stringWithUTF8String:"hello, 1901"];
NSArray
* array1 = [[NSArray alloc] initWithObjects:string, nil];
NSLog(
@"array1 retainCount: %p", array1);
NSArray
* array2 = [[NSArray alloc] initWithObjects:string, nil];
NSLog(
@"array2 retainCount: %p", array2);
/*
output:
array1 retainCount: 0x1001107c0
array2 retainCount: 0x100110840
*/

posted @ 2011-06-15 12:32  1901  阅读(245)  评论(0编辑  收藏  举报