시작하세요! iOS 6 프로그래밍 - 데이브 마크 외 지음, 유윤선 옮김/위키북스 |
위의 책으로 7장 '탭바와 피커' 부분을 공부 하다가 예제소스를 그대로 따라했다고 생각했는데 다음과 같은 문제가 생겼다.
Source
============================
- (void)buttonPressed {
NSInteger row = [self.singlePicker selectedRowInComponent:0];
NSString *selected = self.characterNames[row];
NSString *title = [[NSString alloc] initWithFormat:@"You selected %@!", selected];
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:title
message:@"Thank you for choosing."
delegate:nil
cancelButtonTitle:@"You're Welcome"
otherButtonTitles:nil];
[alert show];
}
위의 소스에서 selectedRowInComponent 함수가 무조건 0으로만 리턴을해서 row변수에 0이 계속 담기는 증상이 있었다.
찾아서 수정을 하고보니 너무 허무했지만 찾는데 너무 시간을 오래 들였던 것 같다.
원인
- Picker에 아웃렛(outlet) 연결이 되어있지 않았다.
아웃렛(outlet) 연결방법
1. 컨트롤키를 누른상태에서 'File's Owner' 를 클릭하고 피커로 드래그 후 놓는다.
2. 아웃렛을 선택한다.
3. 아웃렛이 연결되었는지 확인한다.
책을 다시한번 꼼꼼하게 읽어보니 아웃렛 연결하는 부분이 있었다. (p.210)
댓글
댓글 쓰기