Xcode池排水?

时间:2011-10-19 18:25:56

标签: objective-c xcode ios5 xcode4.2

在Xcode 4.2中,@autoreleasepool取代[pool drain];并且仍然需要像这样分配:

Person *Jay = [[Person alloc] init];

1 个答案:

答案 0 :(得分:4)

@ autoreleasepool { }相当于

NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
// Code benefitting from a local autorelease pool.
[pool release];

ARC仍然要求你做任何一次

[[NSString alloc] init]

[NSString string]

在ARC下,与休闲程序员的观点没有区别。在下面,在编译的代码中,[NSString string]返回的对象将进入池中,然后被释放。在编译器超出范围之前,编译器将插入一个版本。

如果您不使用ARC,则稍后您必须在字符串返回的对象上调用release