1

以下にいくつかの情報源があります。

- (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のButtonメソッドにアクセスすると、SIGABRTエラーが発生します。私に何ができる ?

4

1 に答える 1

2

コンソール出力を適切に読んでください。デフォルトでは、すべてのビューにタグ「0」が付いているため、uibutton 以外のビューを取得しているためクラッシュする可能性があり、そのビューにtitleLabelプロパティがない可能性があります。 UIButton のプロパティ。

于 2012-04-24T06:28:38.990 に答える