我知道這裏有一些問題非常類似,但我找不到所需的信息。我在for循環中添加了一個UIButton的網格到我的視圖。每次創建新按鈕時,我都會撥打addTarget:self action:@selector(doYourThing:) forControlEvent:UIControlEventTouchUpInside
。如果我只製作一個按鈕,它就會起作用。但是當我使用for循環創建一個完整的按鈕網格時,沒有一個按鈕想要調用選擇器,而是獲得EXC_BAD_ACCESS。有什麼建議麼?感謝大家。從多個UIButtons調用一個選擇器
- (void)viewDidLoad
{
[super viewDidLoad];
[titleLabel setText:[site title]];
// Do any additional setup after loading the view from its nib.
buttonArray = [[NSMutableArray alloc] initWithCapacity:250];
int i = 0;
int c = 0;
int index = 0;
for (c=0; c < [site columnCount]; c++) {
for (i = 0; i < [site rowCount]; i++) {
plotButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[plotButton addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];
CGPoint origin = CGPointMake(60.0, 40.0);
[plotButton setTitle:@"Plot" forState:UIControlStateNormal];
[plotButton setFrame:CGRectMake(origin.x + (90.0 * c), origin.y + (45.0 * i), 90.0, 45.0)];
[plotButton setTag:index];
[buttonArray insertObject:plotButton atIndex:index];
NSLog(@"%d", [plotButton tag]);
index ++;
[[self view] addSubview:plotButton];
}
}
}
這是我的for循環。 idk如果像這樣嵌套他們是愚蠢的,但我正在做一個按鈕的網格,這似乎是明智的方式來獲取行和列完成。無論如何,謝謝。
增加了異常斷點。得到:Catchpoint 2(拋出)Pending breakpoint 1 - 「objc_exception_throw」已解決。
您可能在構建按鈕的循環中出現了一些錯誤(因爲從幾個按鈕調用同一個選擇器是完全正確的)。請發佈相應的代碼。 – DarkDust 2012-02-04 20:19:57
你需要[添加一個異常斷點](http://stackoverflow.com/questions/4961770/run-stop-on-objective-c-exception-in-xcode-4)。然後觸發錯誤,複製異常的堆棧跟蹤,編輯您的問題,並粘貼堆棧跟蹤。 – 2012-02-04 20:29:56
你是釋放還是無法使用buttonArray而不是dealloc? – vikingosegundo 2012-02-04 20:42:24