我的具體問題是關於使用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