2014-10-20 3 views
1

나는 UIPickerView를 가지고 있으며 그것의 데이터 소스는 fetchedResultsController입니다. pickerView 내에서 fetchedResultsController.objectAtIndexPath()를 얻는 방법 : titleForRow

내 대리인 FUNC :이 오류에

func pickerView(pickerView: UIPickerView!, titleForRow row: Int, forComponent component: Int) -> String 
{ 
    let task: Task = self.fetchedResultsController.objectAtIndexPath(row) as Task 
    return task.name 
} 

결과 : 나는 그것을 전달하기 전에 NSIndexPath로 행을 캐스팅하려

'NSNumber' is not a subtype of 'NSIndexPath' 

같은 오류가 발생했습니다 :

'NSNumber' is not a subtype of 'NSIndexPath' 

fetchedResultsController.objectAtIndexPath()가 매개 변수를 캐스팅하려고합니다. 아이브?

내가 여기서 잘못하고있는 것은 무엇입니까? 그것은 여러 섹션 테이블 뷰를위한 데이터 소스로서 이용 될 수 있도록

답변

3

NSFetchedResultsController 인덱스 경로 (a 성분을 갖는) 를 이용한다.

귀하의 경우에는

, 당신은 그냥 똑같은 대답을 게시하고 싶었다

let indexPath = NSIndexPath(forRow: row, inSection: 0) 
let task = self.fetchedResultsController.objectAtIndexPath(indexPath) as Task 
+0

와 행 번호에서 NSIndexPath을 만들 수 있지만, 나는이 문서에서 본 : indexPath를 : forRow : 사용할 수 없습니다 inSection을 (빠른) ? – zisoft

+0

@zisoft : 문서화 문제 여야합니다. 대답을 게시하기 전에 Xcode 6.0.1에서 코드를 컴파일했습니다. 체크 Xcode 6.1 ... –

+0

그 소리 좋은데. Xcode 6.1 업데이트를 다운로드하고 있으므로 다음을 시도 할 수 없습니다. – zisoft