У меня есть исключение, которое я просто не могу понять. У меня здесь есть этот код:Получение исключения из CGRectMake при работе на устройстве iOS (но не в симуляторе)
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 на константы, и посмотреть, есть ли у вас все еще исключение? Попробуйте поплавки вместо ints, чтобы быть уверенным. –