我很好奇我用工厂方法分配的内存。这个想法是,我将读入一个文件,然后通过向我的工厂方法发送一个未解析的 CSV 行来实例化对象,如下所示:
-(id)initWithCSV:(NSString *)csv
{
if(self = [super init])
{
NSArray *values = [csv componentsSeparatedByString:@","];
self.city = [values[0] stringByTrimmingCharactersInSet:
[NSCharacterSet whitespaceCharacterSet]];
self.country = [values[1] stringByTrimmingCharactersInSet:
[NSCharacterSet whitespaceCharacterSet]];
self.latitude = [values[2] doubleValue];
self.longitude = [values[3] doubleValue];
}
return self;
}
我的第一个问题是,这在内存管理方面如何?我不完全清楚 ARC 是如何工作的。values
一旦我return self;
退出该方法,我的数组就会被销毁,对吗?
第二个问题......有没有更有效的方法来完成我在这里尝试做的事情?