2011-05-04 33 views
0

我不斷地在多個地方得到EXC_BAD_ACCESS錯誤,但總是在下面的nsuserdefaults是它保持錯誤的地方。EXC_BAD_ACCESS在不同的地方,但所有的NSUSERDEFAULTS

//Get results 
NSString *currentYes = [[NSUserDefaults standardUserDefaults] stringForKey:@"yes"]; 
NSString *currentNo = [[NSUserDefaults standardUserDefaults] stringForKey:@"no"]; 

而且在這裏再次:

- (IBAction)VoteQ1:(id)sender 
{ 
    //Save question 1 to device 
    [[NSUserDefaults standardUserDefaults] setObject:@"Q1" forKey:@"questionnumber"]; 
    [[NSUserDefaults standardUserDefaults] setObject:[self.Question1 objectAtIndex:0] forKey:@"Question"]; 
    [[NSUserDefaults standardUserDefaults] setObject:[self.Question1 objectAtIndex:1] forKey:@"yes"]; 
    [[NSUserDefaults standardUserDefaults] setObject:[self.Question1 objectAtIndex:2]forKey:@"no"]; 
    [[NSUserDefaults standardUserDefaults] setObject:[self.Question1 objectAtIndex:3] forKey:@"start"]; 
    [[NSUserDefaults standardUserDefaults] setObject:[self.Question1 objectAtIndex:4] forKey:@"end"]; 
    [[NSUserDefaults standardUserDefaults] synchronize]; 


    FlipViewController *controller = [[FlipViewController alloc] initWithNibName:@"FlipView" bundle:nil]; 
     controller.delegate = self; 

     controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
     [self presentModalViewController:controller animated:YES]; 

     [controller release]; 
} 

我也有(IBAction)VoteQ2:(id)sender(IBAction)VoteQ3:(id)sender這是與上面相同,但self.question1就像是問題2或3

錯誤是當我點擊完成翻轉視圖後,點擊另一個ibaction。

請幫我相信這是事做不NSUserDefaults的釋放它的自我

感謝

+0

這將有助於如果你指出錯誤發生的確切位置。另外,根據您所描述的內容,我不認爲錯誤的原因在您發佈的代碼段中。看到你保留或釋放NSUserDefaults對象的任何代碼區域(你不應該這麼做)會很有用。 – lazycs 2011-05-04 17:20:19

+0

錯誤在任何標準用戶默認行 – user393273 2011-05-04 17:26:36

回答

0

這可能是個鑄造問題。您設置一個對象

setObject:[self.Question1 objectAtIndex:1] 

但取到一個NSString:

stringForKey:@"yes" 

假設在問題1陣列的對象NSString對象,試試這個:

NSString *currentYes = (NSString *)[[NSUserDefaults standardUserDefaults] objectForKey:@"yes"]; 
0

這些東西通常是由於使用的指針過期的對象。你可以運行殭屍啓用隔離。

查看堆棧回溯軌跡以隔離其發生和回報的線路。

0

我猜你NSArray對象self.Question1出界了。 即self.Question1內只有2個對象,但您試圖獲得objectAtIndex 4.

+0

問題1內實際上是5個對象 – user393273 2011-05-04 17:26:18

相關問題