Я пытаюсь создать значок настроек для rightBarButtonItem для моего UINavigationController.В моем приложении: DidFinishLaunching, я создаю кнопку и устанавливаю ее
//pseudo code for applicationdidfinish launching
HomeController *home = [[HomeController alloc] init]; // root view of my UINavigationController
home.navigationItem.rightBarButtonItem = settingsBarButtonItem;
[settingsButton addTarget:self action:@selector(settingsPressed:) forControlEvents:UIcontrolEventTouchUpInside]; // i used a button for the barbuttonitem to not get the bar button item border
, чем в настройках. Нажмите:
SettingsController* settings = [[SettingsController alloc] initWithNibName:@"SettingsController" bundle:nil];
UINavigationController* popoverNav = [[UINavigationController alloc] initWithRootViewController:settings];
[settings release];
popover = [[UIPopoverController alloc] initWithContentViewController:popoverNav];
[popoverNav release];
// show settings
if ([popover isPopoverVisible]) {
[popover dismissPopoverAnimated:YES];
} else {
[popover presentPopoverFromBarButtonItem:bbiSettings permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}
в настройках контроллера, в viewDidLoad:
NSArray *array = [NSArray arrayWithObjects:@"one", @"two", @"three", nil];
self.DataArray = array; // (nonatomic, retain)
[array release];
Я не показываю этот массив сразу.Как и в приложении «Настройки iPhone», когда они нажимают на одну из ячеек в моей сгруппированной таблице, оно открывает новый UITableView.Таким образом, в этом UITableView, в tableView: numberOfRowsInSection: метод, я
return [self.DataArray count];
Однако, именно здесь происходит сбой моего приложения.Когда я смотрю на мой массив, у меня теперь есть случайные вещи, такие как vl.proj, иногда UIViews и т. Д. Я не знаю, почему этот массив изменяется.Я не знаю, вызвано ли это тем, что я вызываю popover из ApplicaionDelegate, чего я обычно не делаю, и в этом проблема, или если что-то не так.Спасибо.