我發生了一個我無法弄清楚的異常。我在這裏有這樣的代碼:在iOS設備(但不是模擬器)上運行時從CGRectMake獲取異常
newControllers = [[NSMutableArray alloc] initWithCapacity:9]; // Only allocate what we need
// Ok, add the new thumb UIs
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 3; ++j) {
// Create the view controller
ThumbViewController *newThumbVC = [[ThumbViewController alloc]
initWithNibName:@"NewThumbDisplayView" bundle:nil];
// Set the info
newThumbVC.localInfo = [newInfo objectAtIndex:(i * 3) + j];
// Place it properly
[self.scrollViewContent addSubview:newThumbVC.view];
CGRect rect = CGRectMake(8 + (j * 99), 363 + (i * 134), 106, 142);
newThumbVC.view.frame = rect;
[self.scrollViewContent bringSubviewToFront:newThumbVC.view];
[newControllers addObject:newThumbVC];
}
}
在模擬器上運行時,它的工作原理非常完美。今天早上我試着在我的手機上運行它,當用下面的堆棧調用CGRectMake時,我得到一個異常(請注意,在輸出窗口中沒有任何內容會打印出來,這使得更難以找出)。
線程1,隊列:com.apple.main線程
#0 0x35220238 in objc_exception_throw()
#1 0x3751b788 in +[NSException raise:format:arguments:]()
如果有人能指出我究竟是不是在這裏,我將非常感激。
你可以用常量替換傳遞給CGRectMake的計算值,看看你是否仍然得到異常?只需確保嘗試使用浮點數而不是整數。 –