因此,标准规则是如果一个对象是使用alloc创建的,复制或保留,它需要一个后续版本。使用便捷方法创建的对象是自动发布的。 但是用“=”定义并用在方法范围中的临时变量呢?例如(iOS)临时变量的内存管理
NSError *error = nil;
NSString *tempString = @"foo";
int number = otherInt * 32;
NSUInteger row = [indexPath row];
NSArray *sameArrayDifferentPointer = otherArray;
甚至
NSArray *sameArrayDifferentPointer = (*NSMutableArray) otherMutableArray;
我知道最后一个是“坏”,但编译罚款,不抛出异常。
第二种情况如何更好?将一个常量字符串分配给一个变量没有任何问题。 – Caleb 2012-03-10 03:51:41
当然不是。而且你在这两个版本中都给一个变量分配一个常量字符串。更详细的更清楚发生了什么事情,这对澄清有帮助。但我认为第二个'通常更好'的说法可能太强大了 - 将会被编辑。 – 2012-03-10 03:54:30
具有完美的感觉。对于Objective-C甚至C语言来说都很新颖,指针的概念仍然让我兴奋不已。谢谢。 – TijuanaKez 2012-03-10 03:57:58