2014-11-27 2 views
0

정적 인 UITableView과 2 UITextFieldsIBOutlets입니다. NSUserDefaults에 따라이 필드의 텍스트를 설정해야합니다. 이렇게하려면 두 가지 방법이 있습니다 : -(void)viewDidLoad 또는 viewDidAppear. 아무 결과없이 그들 모두를 시험해 보았다. 기본값의 값이 확인되고 텍스트 필드가 제대로 연결됩니다. 일부 코드 :정적 UITableView 및로드 된 후 데이터 설정

@property (nonatomic,weak) IBOutlet UILabel *someLabel; 

구현 예를 하나 개의 필드의 :

-(void)viewDidLoad{ 
self.someLabel.text = [[NSUserDefaults standardUserDefaults] objectForKey:@"someText"]; 
} 

필드가 empty.Any 단서?

+0

viewDidLoad에 self.someLabel을 기록하여 이것이 nil이 아닌지 확인 했습니까? – rdelmar

+0

@rdelmar 예, 백만 시간에 – efimovdk

+0

@rdelmar 어쩌면 문제는 내가 cellForRowAtIndexPath와 같은 위임 메서드 외부에서 이렇게하는 것입니까? 이 레이블은 테이블 뷰 셀의 하위 뷰라는 의미입니다. IBOutlets를 통해 직접 액세스하려고합니다. 그러나 그런 접근 방식에서는 나쁘지 않습니다. 또한 viewDidLoad.Unsuccessfully에서 텍스트 값을 설정 한 후 테이블보기를 다시로드하려고했습니다. – efimovdk

답변

0

그래, NSUserDefaults를 동기화하는 것을 잊어 버렸습니다. UITableView 제대로 작동합니다. 그리고 두려움없이 콘센트를 통해 원하는 객체에 액세스 할 수 있습니다.

관련 문제