2011-11-23 3 views
0

UINavigationController의 rightBarButtonItem에 대한 설정 아이콘을 만들려고합니다. 있는 viewDidLoad에서, SettingsController에서UITableView에 대한 데이터가 변경됨

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]; 
    } 

을 : 내 응용 프로그램에서 : DidFinishLaunching, 나는 버튼을 만들고, settingsPressed보다

//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 

을 설정할

NSArray *array = [NSArray arrayWithObjects:@"one", @"two", @"three", nil]; 
self.DataArray = array; // (nonatomic, retain) 
[array release]; 

나는이 표시되지 않습니다 바로 배열. iPhone Settings App과 마찬가지로 Grouped Table의 셀 중 하나를 클릭하면 새로운 UITableView가 열립니다. numberOfRowsInSection : 그있는 tableView에서 jQuery과에 그래서 방법, 나는

return [self.DataArray count]; 

그러나, 여기에 내 응용 프로그램 충돌이. 배열을 보았을 때 vl.proj, UIViews 등과 같이 무작위적인 요소가 있습니다. 왜이 배열이 변경되는지 알지 못합니다. 나는 내가 일반적으로하지 않는 응용 프로그램에서 popover를 호출하고 문제가 있는지, 또는 뭔가 다른 것이 있다면 그것을 알 수 없습니다. 감사.

+0

어떤 속성이 DataArray 변수에 설정됩니까 – iOSPawan

+0

@ pawan.mangal 비 원자력, 유지 –

+0

어딘가에 릴리스 된 사촌 변경, 포인터가 새 개체를 가리키고 있습니다 –

답변

1

[NSArray arrayWithObjects :]는 자동 반복 배열을 반환합니다. 따라서 수동으로 해제 할 필요는 없습니다. [array release] 행을 지울 수 있습니다. viewDidLoad 및 모든 잘 작동합니다.

관련 문제