2011-08-04 5 views
1

테이블의 행을 선택하는 문제 내 응용 프로그램에서 테이블보기 cells.When 내가 선택한 셀에 따라 해당보기 걸리는 하나의 셀을 선택합니다. UITableViewCell의 사용자 정의 하위 클래스를 사용하여 구현했습니다. 즉, 코드를 사용하여 하위 뷰 대신 nib 파일로 셀을 서브 클래 싱합니다. 뷰 하위 클래스 기술

내가있는 viewDidLoad 방법에 아래와 같이

NSDictionary *row1=[[NSDictionary alloc]initWithObjectsAndKeys:@"Mac", @"Name", @"1.5", @"Rate", nil]; 

NSDictionary *row2=[[NSDictionary alloc]initWithObjectsAndKeys:@"MINI", @"Name", @"14.4",@"Rate", nil]; NSArray *array=[[NSArray alloc]initWithObjects:row1, row2 nil]; 
self.computers=array; 

을 내 세포의 데이터를 공급하는있는 NSDictionary를 사용 didSelectRowAtIndexPath 방법에 나는 NSException를 표시하고 이동하지 않습니다

-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ 

if (childController==nil) { 
    childController=[[computerConverter alloc]initWithNibName:@"computerController" bundle:nil]; 

    [email protected]"Select computer to convert"; 
    NSUInteger row=[indexPath row]; 
    NSString *selectedComputer=[self.computers objectAtIndex:row]; 
    NSString *detailMassage=[[NSString alloc]initWithFormat:@"%@",selectedComputer]; 
    childController.massage =detailMassage; 
    childController.title=selectedComputer; 
    [detailMassage release]; 
    [self.navigationController pushViewController:childController animated:YES]; 
    childController =nil; 
} 

}

를 사용 다른 해당보기로. 모든 제안은 매우 감사하겠습니다.

+0

a) 백 트레이스에서 예외로 표시되는 내용은 무엇입니까? b) 이것은 매우 새는 코드입니다. 나는 당신이 정적 분석기를 가동하지 않고 있다고 생각합니다. 예 :'childController = nil'은 실제로'self.childController = nil'이어야합니다. – Abizern

+0

예, 제가 여기에 제 코드를 넣었습니다. 나는 모든 기억 관리 일을했다. 문제는 childController 또는 Dictionary 요소에 있다고 생각합니다. childController가이 클래스의 객체가 아니기 때문에 self.childController가 될 수 없습니다. 우리가 어떤 셀을 클릭하면 갈 다음 클래스의 객체입니다. – Mann

+0

row1과 row2는 사전이므로이 작업을 수행 할 수 없습니다. childController.title = selectedComputer; 이 사전의 키에 대해 반환 값을 설정할 수 있습니다. 나는 문제가 위의 줄에 있다고 생각한다. –

답변

1

ROW1 및 ROW2은 사전이며, 따라서이

childController.title=selectedComputer; 

당신은이 사전에서 키에 대한 반환 값을 설정할 수 있습니다 할 수 없습니다. 나는 문제가 위의 줄에 있다고 생각한다.