У меня есть UIViewController, который имеет UIPickerView и UITableView.UIPicker состоит из 3 компонентов.
Когда я пытаюсь определить количество компонентов в каждом массиве, возвращая [anArray count], программа останавливается, не выдавая ошибку при загрузке UIViewController.
Когда я помещаю NSLogs в viewDidLoad:
для [self.hours count]
, [self.minutes count]
и [self.meridiem count]
, возвращается правильное количество значений.
- (void)viewDidLoad {
[super viewDidLoad];
NSMutableArray *tempHours = [NSMutableArray array];
for (NSInteger i = 0; i < 12; i++) [tempHours addObject:[NSNumber numberWithInteger:(i+1)]];
self.hours = [NSArray array];
hours = tempHours;
[tempHours release];
NSMutableArray *tempMinutes = [NSMutableArray array];
for (NSInteger i = 0; i <= 59; i++) [tempMinutes addObject:[NSNumber numberWithInteger:i]];
self.minutes = [NSArray array];
minutes = tempMinutes;
[tempMinutes release];
NSMutableArray *tempMeridiem = [NSMutableArray array];
for (NSInteger i = 0; i <= 1; i++) [tempMeridiem addObject:[NSNumber numberWithInteger:i]];
self.meridiem = [NSArray array];
meridiem = tempMeridiem;
[tempMeridiem release];
}
Теперь в pickerView:numberOfRowsInComponent:Component:
, код останавливается без ошибки, если я пытаюсь вывести [anArray count]
(где anArray - заполнитель для часов, минут и меридием).Если я установлю для numberOfRows целочисленное значение или component+1
, все будет работать нормально.
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
NSInteger numberOfRows;
if (component == 0) {
// numberOfRows = component+1;
numberOfRows = [self.hours count];
}
else if(component == 1) {
// numberOfRows = component+1;
numberOfRows = [self.minutes count];
}
else {
// numberOfRows = component+1;
numberOfRows = [self.meridiem count];
}
return numberOfRows;
}
У меня такое ощущение, что мои NSArrays (часы, минуты, меридием) не сохраняются, но выполняютсяАнализатор не показывает мне, что у меня есть утечки памяти в этом ViewController.
Любая помощь будет принята с благодарностью!