Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
请不要标记重复:- 我创建了几行
NSString *str = [[NSString alloc] init]; str = @"Test"; NSLog(@"%d",[str retainCount]);
和输出是-1。请解释。
这是我指出的问题的欺骗。它是 -1,因为您将 UINT_MAX 打印为有符号整数。RC 为 -1,因为它是编译器有效生成的单例字符串,并且从未分配或释放。
这种模式:
NSString *str = [[NSString alloc] init]; str = @"Kashyap";
没有意义; 您正在分配一个字符串实例,在第一行中为其分配一个引用str,然后立即在第二行中覆盖该引用(如果您不使用 ARC,则泄漏第一个字符串)。
str
如果有提倡这种反模式的教程或书籍,请指出。