2013-03-15 50 views
0

每当我点击旋转它会产生这个错误,并崩溃的应用程序。在我上传图片视图之前,应用程序工作正常,旋转很棒。我知道代码可能会告诉我头部有什么问题,但我在理解这个问题时遇到了问题。按钮添加图片视图时产生错误

以下粗体换句话说就是它产生

- (IBAction)spinAction:(id)sender { 

    [_chosenComponents removeAllObjects]; 
    for (int i = 0; i < _componentsInPicker.count; i++) { 
     int randNum = arc4random() % [self.theSlotPicker numberOfRowsInComponent:i]; 

     [_theSlotPicker selectRow:randNum inComponent: i animated:YES]; 
     [_chosenComponents addObject: 
     [NSNumber numberWithInt:[(NSArray *)[_baseList objectAtIndex:i] indexOfObject:[(NSArray *)[_componentsInPicker objectAtIndex:i] objectAtIndex:randNum]]]]; 
    } 
    NSLog(@"%@", _chosenComponents); 

吐出按钮后,按/崩溃 “主题1:EXC_ARITHMETIC(代码= EXC_1386_DIV,子码=为0x0)”

,如果您能指导我如何解决这个错误。

谢谢!


输出错误:(LLDB)

+0

请发布应用程序吐出到xcode的输出窗口的错误消息。 – John 2013-03-15 18:26:26

+0

在代码块中放置\ * \ * **不会使它们变为粗体。分开放置错误以便其他人注意到它。 – Rakesh 2013-03-15 18:43:32

+0

好吧,对于这个更新。下面没有这样的运气。在添加UIImageView之前,它像一个魅力。 – user2175105 2013-03-15 18:47:46

回答

0

此错误是可能发生的,因为有一个除以零发生,当您使用arc4random() % .....

而不是使用arc4random() % n使用arc4random_uniform(n)。它会返回一个数字,范围从0到n。

然而,这并不能解决

[self.theSlotPicker numberOfRowsInComponent:i]是在某个时间点回零的固有问题。