Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 为什么会出现SIGABRT错误?_Objective C_Ios_Button_Tags - Fatal编程技术网

Objective c 为什么会出现SIGABRT错误?

Objective c 为什么会出现SIGABRT错误?,objective-c,ios,button,tags,Objective C,Ios,Button,Tags,下面我有一些消息来源 - (void)Button:(UIButton *)button { NSString *imageName = ((UIButton *)[self.view viewWithTag:button.tag]).titleLabel.text; } - (void)viewDidLoad { NSMutableArray *_array = [[NSMutableArray alloc] init]; NSInteger iCount

下面我有一些消息来源

- (void)Button:(UIButton *)button {

    NSString *imageName = ((UIButton *)[self.view viewWithTag:button.tag]).titleLabel.text; 

}

- (void)viewDidLoad { 

    NSMutableArray *_array = [[NSMutableArray alloc] init];

    NSInteger iCount = [_array count];

    for (i = 0; iCount > i; i++) {

        UIButton *btn = [[UIButton alloc] init];
        btn.titleLabel.text = [[_array objectAtIndex:i] objectForKey:@"FILE"];
        btn.tag = i;
        [btn addTarget:self action:@selector(Button:) forControlEvents:UIControlEventTouchUpInside];
        [self.view addSubview:btn];
        [btn release];

}
当我访问带有0索引标记的按钮方法时,我得到SIGABRT错误。
我能做什么?

正确读取控制台输出,默认情况下,每个视图都有标记“0”,因此它可能会崩溃,因为它正在使用uibutton之外的其他视图,并且可能是该视图没有标题标签属性。因为它是uibutton的属性。

您收到此错误,因为您传递的自对象实际上是视图控制器,而不是按钮。***由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[UIView标题标签]:发送到实例0x98053a0的未识别选择器'***第一次抛出调用堆栈:blar blar..[UIView标题标签]:它应该是[UIButton标题标签],这意味着-[self.view view withtag:button.tag]此返回UIView(您当前的视图(您可以通过“self”访问)…您需要使用1或其他内容启动按钮标记..但不能使用0。因此,它不会与任何视图发生冲突。