2010-07-16 4 views
0

내가 선택한다른보기를 설정하는 UITableview s 있습니다.UILabels는 뷰의 첫 번째로드시 업데이트되지 않습니다.

모든 행의 첫 번째 선택시, 뒤로 돌아갈 때마다 빈 레이블 (아무것도 설정되지 않음)로보기가로드되고 그 다음에 행이 완전히 선택되면 그 행이 선택됩니다.

왜 첫 번째 선택 항목에 레이블이 설정되어 있지 않습니까? 똑바로 레이블의 값을으로 설정하고 인쇄 후이 null입니다

NSLog(@"object at index 0 is %@", [tempArray2 objectAtIndex:0]); 

self.categoryQuoteViewController.aLabel.text = [tempArray2 objectAtIndex:0]; 
self.categoryQuoteViewController.bLabel.text = [tempArray2 objectAtIndex:1]; 

NSLog(@"the first label is %@",self.categoryQuoteViewController.aLabel.text); 

첫 번째 NSLog 인쇄 값 :

나는 다음과 같은 코드가 있습니다.

+0

두 번째 NSLog는 %의 @위한 전무를 제공하는 경우, 다음 self.categoryQuoteViewController 또는 self.categoryQuoteViewController.aLabel 중 하나를 수행해야합니다 없어. 확인해 봤어? 그냥 % x로 인쇄하십시오. – mvds

+0

방금 ​​시도했지만, 그렇지 않습니다. 하지만 self.categoryViewController.aLabel은 null입니까? – jarryd

답변

1

categoryQuoteViewController보기가 지연되어로드됨에 따라 처음으로 화면에보기를 표시 할 때까지 레이블이로드되지 않습니다. 따라서 처음으로 categoryQuoteViewController.aLabel에 액세스하면 nil이됩니다.

이 같은 뷰 컨트롤러에 view 속성에 액세스하여로드 뷰를 강제 할 수

/* Force the view to load so we can set the labels */ 
categoryQuoteViewController.view; 
+0

완벽한 감사합니다. – jarryd

관련 문제