我在我的主包中使用屬性列表來存儲關於關卡和玩家的信息。第一次啓動應用程序時,pList會被複制到手機中,然後根據需要從本地副本訪問信息。我正在運行Instruments中的Leaks,我一直遇到內存泄漏,我認爲這與創建存儲在pList中的字典和其他數據類型有關。內存泄漏使用屬性列表/ NSMutableDictionary
這裏就是字典創建 - 尋找到plist中的路徑後:
if fileManager.fileExists(atPath: path.path) {
if let dictionaryForPlist = NSMutableDictionary(contentsOf: path) {
return(dictionaryForPlist)
}
else {
print("pList not found")
}
let levelInstanceData = LevelData() //this class searches the main bundle for the plist and stores the pList as an NSMutableDictionary
let currentLevel = levelInstanceData.localDataFile["Level1"] as! Int //localDataFile is the NSMutableDictionary storing the information
let levelName = levelInstanceData.localDataFile["Level1Name"] as! String
我用力每一塊數據轉換爲正確的數據類型,並用它在整個水平。
這裏是儀器泄漏對象的屏幕截圖。有沒有其他人有這個問題,或有任何想法如何阻止泄漏?
有關於蘋果SpriteKit論壇內存泄漏的幾個問題。這是我用字典看到的第一個。你可能很幸運。第一個找到這個。 SK和錯誤.... – Confused