2013-04-06 1 views
0

저는 Objective C와 iOS를 처음 접했습니다. 스토리 보드에 View Controller에 탐색 컨트롤러를 내장했습니다. 그런 다음 스토리 보드에 다른보기 컨트롤러 (루트보기 컨트롤러)를 추가했습니다. 그것은 테이블보기가 추가 된 다른보기 컨트롤러에 연결하는 단추가 있습니다. 빌드를 실행할 때 'NSInvalidArgumentException'이유 : '- [UIViewController tableView : numberOfRowsInSection :] : 인식 할 수없는 선택기가 인스턴스 0x686d160으로 전송되었습니다'라는 예외가 발생합니다. 당신은 해제 된 연락처 변수에 '수'메시지를 보내는UITable보기에 관한 예외

 (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
    { 
    return [contacts count]; 
    } 


    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:  (NSIndexPath *)indexPath 
    { 
    static NSString *simpleTableIdentifier = @"RecipeCell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier]; 

    if (cell == nil) { 
     cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier]; 
    } 

    cell.textLabel.text = [contacts objectAtIndex:indexPath.row]; 
    return cell; 
} 
+0

연락처 배열에 값이 있습니까? – Dolo

+0

그것은'contacts' 배열에 empty 나 null과 같은 몇몇 잘못된 값이 있음을 분명히 보여줍니다. 그래서 그것이 null이 아니며 값이 있는지 확인하십시오. – iEngineer

+0

메시지를 nil 개체로 보낼 수는 있지만 할당되지 않은 개체로 메시지를 보낼 수는 없습니다. – Jeremy

답변

0

다음은 실행 파일의 코드 (단지 relaevant 방법) 나는 더 이상 코드를 제공해야하는 경우 나에게 알려주십시오입니다. 주소록에 개체를 할당 할 때 주소에 개체 메시지를 보내거나 주소록을 사용하도록 설정 한 경우이를 사용하여 주소를 소유하고 있는지 확인하십시오.

+0

@Dolours 배열의 값입니다. - (void) viewDidLoad { contacts = [NSArray arrayWithObjects : @ "계란 베네딕트", @ "버섯 리조또", @ "풀 조식", "햄버거", @ "햄 @ "크림색 Brelee", "화이트 초콜렛 도넛", "스타 벅스 커피", "야채 카레", "인스턴트면", @ "BBQ 돼지 고기라면", @ "일본 누들 돼지 고기 ", @"녹차 ", @"태국 새우 케이크 ","Angry Birds Cake ", @"Ham and Cheese Panini ", nil]; [super viewDidLoad]; } –

+0

이 경우 연락처에 자동 릴리스 된 배열 인스턴스가 할당됩니다. [연락처 보유] 전화; – Jeremy

+0

오류가 있습니다 : 자동 참조 계산에서 'retain'을 사용할 수 없습니다. –