부모로부터 하위보기 컨트롤러 (DateViewController)의 속성을 설정하고 두 번째로 잘못된 액세스 오류가 발생하려고합니다. 여기에 코드가 있습니다. 이것은 DateViewController.h입니다. 문제는되어 selectedDate 속성있다 : IOS ViewController 속성에 잘못된 액세스 오류가 설정되었습니다.
내부 DateViewController.m, 내가되어 selectedDate을 합성 않습니다. 이제 상위보기 컨트롤러 (ComdataIOSViewController.m)에서 DateDeviceController의 selectedDate 속성을 ComDataIOSViewController.h의 @interface 섹션에 NSDate *로 선언 된 변수 receiptDate로 설정합니다. 나는 날짜 선택기 컨트롤에서 날짜를 선택,
이- (void)viewDidLoad
{
[super viewDidLoad];
receiptDate = [NSDate date];
}
-(IBAction)btnSetDate {
dlgDate=[[DateViewController alloc] initWithNibName:nil bundle:nil];
dlgDate.selectedDate = receiptDate;
dlgDate.myDelegate = self;
[self presentModalViewController:dlgDate animated:true];
[dlgDate release];
}
-(void) dateViewControllerDismissed:(NSDate *)selectedDate
{
NSDateFormatter *dateFormat = [[[NSDateFormatter alloc] init] autorelease];
[dateFormat setDateStyle:NSDateFormatterShortStyle];
receiptDate = selectedDate;
dateString = [dateFormat stringFromDate:receiptDate];
lblDate.text = dateString;
}
그래서 부모 컨트롤러에 설정된 날짜 버튼을 클릭 처음의 DateViewController가 나타나고 컨트롤러는 기각 :이 ComdataIOSViewController.m의 조각입니다. 부모보기 컨트롤러에서 dateViewControllerDismissed가 호출되면서 receiptDate를 selectedDate 매개 변수로 설정합니다. 다음 번에 날짜 버튼을 클릭하면 DateViewController의 selectedDate 속성을 receiptDate로 설정하는 잘못된 액세스 오류가 발생합니다. 나는 이것이 내가 올바르게 다루지 않는 일종의 기억 문제라고 가정하고있다. IOS 프로그래밍은 여전히 나에게 새롭다.
나는 이전에 속성을 유지하도록 설정 했음에도 불구하고 아무런 차이가 없다고 언급 했어야합니다 (올바른 것이지만 유지하도록 설정해야 함). 아래 답변은 내 문제를 해결했습니다. – Bob
다행스럽게 문제를 해결했습니다. :) –