2012-03-28 6 views
0

그 날의 정보가있는 DayViewController에 달력의 요일 인 UIbutton에서 Storyboard segue를 수행하려고합니다. 보낸 사람 UI 단추의 currentTitle은 DayViewController의 dayView에서 UILabel에 전달되어야합니다. 그것은 성공적으로 새 VC에 segues 및 내 DayViewController dayViewController 초기화되지 않은 (디버거에서 그들의 주소를 모두 0x0) 및 빈 페이지를 얻을 dayView (및 기본보기) 있지만 속성을 단추 제목을 할당합니다. 이 뷰에서이 뷰를 초기화하려면 어떻게해야합니까? (I가 segued 때 VC에 링크 된 뷰를 자동으로 초기화 알았는데?)UIView가 스토리 보드에서 초기화되지 않았습니다. Segue

가 여기에 prepareForSegue라는 점점 :

여기
-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(UIButton *)sender 
{ 
    if ([segue.identifier isEqualToString:@"ShowDay"]) { 
     DayViewController *vc = segue.destinationViewController; 
     [vc setCurrentDayNumber:sender.currentTitle]; 
} 

새로운 VC의 setCurrentDayNumber입니다

다음
-(void)setCurrentDayNumber:(NSString *)currentDayNumber 
{ 
    _currentDayNumber = currentDayNumber; 
    [self.dayView setNeedsDisplay]; 
}  

은 내 스토리 보드에서 DayViewController에 연결된 뷰입니다.

@property (nonatomic, weak) IBOutlet DayView *dayView; 

미리 감사드립니다.

+0

@property를 'weak' 대신'strong'으로 변경하면이 기능이 작동합니까? – lnafziger

+0

오, 세상에! 너 낯선 사람에게 고마워! – Patrick

+0

당신은 오신 것을 환영합니다! Stack Overflow (SO)에 오신 것을 환영합니다. 귀하가 도움을 준 사람에게 신용을 제공하기 위해 질문에 답변 할 때 답변 옆에있는 체크 표시를 클릭하여 답변을 수락하십시오! – lnafziger

답변

0

속성을 weak로 선언하면 다른 사람이 속성을 참조하지 않는 한 해당 속성이 값을 "유지"하지 않습니다. 새 뷰 컨트롤러가 푸시되면 이전 버튼이 사라지고 currentDayNumber가 유일한 참조로 남으므로 자동으로 자체를 nil로 설정합니다. (이 약은 어떻게해야되는 것입니다.)

당신이 상관없이 무엇에 대한 참조를 유지하지 않고 weakstrong를 사용하고 _currentDayNumber을 설정할 수 있는지 확인하려면에 전무 곳 (viewDidUnload 같은) 그래서 당신 돈 영원히 간직하지 마십시오.

관련 문제