A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© cat73 黑马帝   /  2016-8-17 18:54  /  1281 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 cat73 于 2016-8-17 18:59 编辑

写出下面程序段的输出结果:
NSString * aString = [[NSString alloc] initWithString:@"123"];
[aString autorelease];
NSMutableArray * arr = [NSMutableArray array];
[arr addObject:aString];
NSLog(@"string = %lu",[aString retainCount]);
A、1
B、0
C、整型最大值
D、2

为何是选C呢?
难道是加入 array 导致的引用计数增加到整数最大值?
自己是玩 Java 的,但很想知道答案,提前拜谢大牛惹!

5 个回复

倒序浏览
aString是存储在常量区的,引用计数器是无符号长整型的最大值,即2^64-1
回复 使用道具 举报
这个不需要大牛,因为他是字符串常量,所以@“123”是字符串常量,不能和正常的对象对待,楼上正解,用%d打印的话就是  -1
回复 使用道具 举报
cat73 黑马帝 2016-8-18 15:00:34
板凳
明白惹 0.0
回复 使用道具 举报
这个不需要大牛
回复 使用道具 举报
帮顶~帮顶~帮顶~帮顶~帮顶~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马