2012-02-18 3 views
0

왜 이것이 작동하지 않습니까?개체 그래프 관계

핵심 데이터 모델에 '클라이언트'엔티티와 '자동차'엔티티가 있습니다. 그것은 일대 다 (one-to-many) 관계입니다. 테이블 뷰 컨트롤러에서 '클라이언트'를 선택하고 모든 자동차를 표시해야하는 새 테이블 뷰 컨트롤러를 밀어 넣었습니다 클라이언트가 소유하고 있습니다. StackOverflow의 다른 답변에서 정보를 바탕으로

, 나는 테이블 뷰 컨트롤러의 셀에 표시 할 수있는 자동차의 이름 쫓아하려면 다음 짧은 코드를 컴파일 : 그러나

NSSet *cars = client.cars; 
carsArray = [cars allObjects]; 
Car *car = (Car *)[carsArray objectAtIndex:indexPath.row]; 
cell.textLabel.text = [car carName]; 

을,이다 작동 안함. 왜 누군가는 볼 수 있습니까? 그것은 잘 컴파일합니다. FYI - 'client'는 선택된 클라이언트 객체입니다. carsArray는 viewcontroller 헤더 파일 내에서 선언 된 NSArray이고 Car에는 'carName'이라는 속성이 있습니다.

답변

2

당신은 &

새 "밀어 뷰 컨트롤러"이 호출됩니다 어떤 오류를 얻고있다? tableView 데이터 소스 메서드를 설정하기 전에 carsArray를 만들어야합니다.

물론 "client"의 전달 된 엔터티가 nil이 아닌지 확인하십시오.

이것은 viewDidLoad 또는 일부 초기화 프로그램에있을 수 있습니다.

NSSet *cars = client.cars; 
carsArray = [cars allObjects]; 

하기에 .. cellForRow에있을 수

Car *car = (Car *)[carsArray objectAtIndex:indexPath.row]; 
cell.textLabel.text = [car carName]; 
+0

오른쪽 다음 ... 내가 내 tableViewController 0 섹션을 반환되었다 ... 바보 같은 실수였다. 이 코드는 실제로 작동했습니다. 사과! –

관련 문제