我无法在真实设备上的IOS8应用程序中显示简单的UIActionSheet

时间:2014-09-26 20:27:39

标签: ios8 uiactionsheet nsrangeexception

当我在IOS 8中运行它时,我得到NSRangeException异常

UIActionSheet *uias = [[UIActionSheet alloc] initWithTitle:@"Test"
                                                      delegate:self
                                             cancelButtonTitle:@"Test"
                                        destructiveButtonTitle:@"Test"
                                             otherButtonTitles:@"Test", nil];

[uias showInView:self.view];

输出异常:

2014-09-26 22:18:17.106 rcherzios [354:51170] *由于未捕获的异常'NSRangeException'终止应用程序,原因:'* - [__ NSArrayM replaceObjectAtIndex:withObject:]:索引0超出空数组的边界' * 第一次抛出调用堆栈: (0x2b153f87 0x38bc6c77 0x2b071331 0x10b587 0x2b96109b 0x2b961211 0x2b965897 0x2b963141 0x2b963579 0x2b964391 0x2b964215 0x2b966e2d 0x2b9641ab 0x2b99e65b 0x2b99d067 0x2b99ca87 0x2b9643e7 0x2b964215 0x2b966e2d 0x2b9641ab 0x2b99bd01 0x2b966e2d 0x2b99bc79 0x2b953bed 0x2b953ceb 0x2b11a82d 0x2b119af1 0x2b11864b 0x2b065db1 0x2b0af6cb 0x2b966b7f 0x392a6e67 0x392a6ddb 0x392a4b84) libc ++ abi.dylib:以NSException类型的未捕获异常终止 信号:6(信号SIGABRT)

在IOS7中,甚至在模拟器IOS 8中一切正常,只是在IOS8中的真实设备上崩溃...

看起来在我复杂的应用程序中我已经玩了3年,所有UIAlertView都崩溃了同样的异常,我试着测试新的UIAlertController并且有相同的异常。所以我的结论是我的应用程序的某些配置导致了UIAlertController的问题,实际上UIAlertView和UIActionSheet在ios 8中使用的是什么。

1 个答案:

答案 0 :(得分:0)

好的,这是我的错,但我不明白为什么在这种特殊情况IOS8和构建在设备上运行的情况下,这导致如此难以解决的问题......

所以这段代码引起了问题......

@implementation NSMutableArray (Extension)

- (void)setObject:(id)thing atIndexedSubscript:(NSInteger)index {
    [self replaceObjectAtIndex:index withObject:thing];
}