當我打電話readDataOfLength:
上NSFileHandle
情況下,我需要釋放返回NSData
?目前我不是,但我想擺脫這種嘮叨的疑問。NSFileHandle -readDataOfLength:return autoreleased NSData?
回答
都能跟得上。可可的memory management rules說,你只有自己(因此需要釋放)對象從名稱中包含的「新」一個方法返回,「ALLOC」,「保留」,或「複製」(NARC)。由於該方法不包含這些內容,因此您不需要釋放它。
是Objective C的庫中觀察到非常一致的標準是開頭的「黃金」或「複製」(和,我想,其他的一些模糊的動詞)返回一個保留對象的方法,而一切的回報一個自動釋放的對象。
任何異常,應充分證明的規格。
晦澀的詞是「新」,這幾乎沒有人使用(這可能會改變人們採用ARC ......),另外一個,毫不隱晦可言,是'retain'。請注意,僅僅因爲方法不返回擁有引用並不意味着它返回一個自動釋放對象。 –
如果某個方法沒有返回自動釋放對象(並且不是所指出的異常之一),那麼它必須記錄。 (這適用於用戶編寫的方法以及Objective C庫。) –
如上所述,不真實。我想你的意思是說「如果一個方法*返回一個擁有引用*(並且不遵循命名模式),那麼它*必須*被記錄下來」。那是真實的。一個方法可以返回一個對象而不返回所有權或自動釋放該對象。 –
- 1. NSFileManager&NSFileHandle?
- 2. autoreleased池說明
- 3. 與NSFileHandle&NSSocketPort
- 4. NSFileHandle readInBackgroundAndNotify和NSMenu
- 5. NSFileHandle fileHandleForWritingAtPath:return null!
- 6. iOS - 從NSFileHandle或NSPipe創建一個NSURL
- 7. autoreleased沒有到位池
- 8. autoreleased沒有池警告?
- 9. NSFileHandle offsetInFile如何工作?
- 10. 在Swift 3上使用NSFileHandle
- 11. NSFileHandle fileHandleForReadingFromURL拋出異常
- 12. NSFileHandle readInBackgroundAndNotify不起作用
- 13. nsdata到nsstring到nsdata
- 14. NSData - > UIImage - > NSData
- 15. NSData的NSArray的NSData?
- 16. 從NSData讀取整數?
- 17. 轉換NSDATA的問題
- 18. NSString componentsSeparatedByString:是否返回autoreleased數組?
- 19. class NSCFData autoreleased沒有到位池
- 20. 即使對自己,對象仍然autoreleased
- 21. NSCFString autoreleased沒有到位 - 只是泄漏?
- 22. 下載後重組NSData對象
- 23. 如何將CFDataRef轉換爲NSData?
- 24. 帶流式視頻或NSFileHandle的AVPlayer
- 25. 如何逐行讀取NSFileHandle的數據?
- 26. 用於二進制文件的NSFileHandle?
- 27. 如何用NSFileHandle打開文本文件
- 28. NSTask管道輸出到控制檯而不是NSFileHandle
- 29. 如何使用NSFileHandle的readabilityHandler檢查文件結束?
- 30. 在NSThread崩潰的應用程序與NSFileHandle寫文件
NARC,由ARC取代:) – jtbandes
哈哈,那確實... –
感謝。 ** NARC **是一個很棒的助記符。現在我可以在晚上睡覺。 – SSteve