【发布时间】:2011-02-09 09:25:15
【问题描述】:
在下面的代码中,我使用 alloc 创建了一个新的 NSString,并使用某个文件的内容对其进行了初始化。因为我正在调用 alloc,所以我知道在完成后调用字符串上的 release 是我的责任。但是变量“lines”和“line”呢?由于“componentsSeparatedByString”方法不是以“new”或“create”开头的,我可以假设“lines”会自动释放吗? “line”的问题相同,因为“objectAtIndex”也不以“new”或“create”开头。
NSString* 缓冲区 = [[NSString alloc] initWithData:[fileManager contentsAtPath:@"/foo"] 编码:NSUTF8StringEncoding]; NSArray* 行 = [缓冲区组件SeparatedByString:@"\n"]; NSString* line = [lines objectAtIndex:5]; // 用线做点什么 [缓冲释放];那么上面的代码可以吗?或者我也应该在线路和线路上调用“释放”?谢谢。
【问题讨论】:
标签: objective-c cocoa