我試圖在iPhone
應用程序中從NSUserDefaults
加載數組。我做一些事情,與此代碼:從NSUserDefaults加載數組時,爲什麼我的應用程序崩潰?
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
self.myarray_1 = nil;
但隨後在下面的行我的應用程序崩潰:
self.myarray_1 = [[NSMutableArray alloc]
initWithArray: [defaults objectForKey:@"highscores"]];
與錯誤
*** Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: '-[NSCFString count]: unrecognized selector sent to instance 0x796c710'
我該如何解決這個問題?
除了Bjorn指出的之外,你在分配self.myarray_1時泄漏了一個NSArray。不要在那裏分配數組,而是使用'-arrayWithArray:'來獲得一個自動釋放的實例。 'myarray_1'也不遵循標準的Cocoa命名約定。我可以建議使用「highScoresArray」還是「highScores」? – 2011-02-25 22:17:21