我的具体问题是关于使用URLByAppendingPathComponent,但该原则将适用于许多其他类/方法和情况。最有效地使用URLByAppendingPathComponent
我有以下的(略)代码:
NSData *packageData = [[NSData alloc] initWithContentsOfURL:[myDirectoryURL URLByAppendingPathComponent:myFileURL]];
...
ret = [self.fileManager removeItemAtURL: [myDirectoryURL URLByAppendingPathComponent:myFileURL]];
所以我用NSURL:URLByAppendingPathComponent两次用同样的参数。我的问题是哪个更高效,是这样做的,还是创建一个新的NSURL *并将调用的结果分配给URLByAppendingPathComponent,然后将其作为initWithContentsOfURL和removeItemAtURL的参数。 我认为第二种方法更好,但因为我对iOS和iOS非常陌生,所以想仔细检查。 (这次调用将创建的对象的生命周期是多少?我使用的是ARC,因此我认为它们的生命周期因此在它们所在的功能块范围的末尾)。
谢谢。有了两个副本的长URL需要多用几百个字节,所以这是我在编写内存比iOS更低的设备后所关心的问题。 – Gruntcakes 2011-12-30 18:35:10
内存在iOS中绝对是一个值得关注的问题,但再次写清晰的代码应该是您的首要任务。如果100字节成为问题,那么你可以更好地弄清楚如何修复它。 (我愿意打赌它不会是......) – 2011-12-30 19:25:50