2012-12-31 1 views
0

코어 데이터 앱에서 UIPicker의 값을 사용하려고합니다.iOS - 항목이 관계 인 UIPicker에서 값 가져 오기

피커는 엔티티 B (카테고리)의 항목으로 채워집니다.

고양이입니다 :

나는 B를 는, 예를 들어,이

내가 피커를로드 할 수 있으며, 기록에 의해, 내가 피커 값을 볼 수 있습니다

A는 기업에서 선택한 항목을 사용 엔티티의 기록을 갖고 싶어 보험,

고양이는 여행입니다.

고양이는 주체 (비용)와 관계가 있으므로 고양이를 다른 사람과 연결하는 방법을 모른다.

나는이 중 일부를하려고했는데 :

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { 

    //NSString *cat = [expense valueForKey:@"category"]; 
    //NSLog(@"cat is %@", cat); 

    NSString *cat2 = ((SPCategory *)[allCategories objectAtIndex:row]).name; 
    NSLog(@"cat2 is %@", cat2); << this works I can see the cat name. 

    self.expense.category.name = ((SPCategory *)[allCategories objectAtIndex:row]).name; 
    NSLog(@"category is %@", self.expense.category.name); 

    //categoryTextField.rightTextField.text = [self.expense valueForKey:@"category"]; 

} 

덕분에 어떤 도움을 ..

+0

이름을 선택하지 않고 범주를 설정하지 않으시겠습니까? 'self.expense.category = ((SPCategory *) [allCategories objectAtIndex : row])' – jlujan

+0

응답 해 주셔서 감사합니다. 제발 구체적으로 할 수 있을까요? (코드 스 니펫?). 나는 뇌를 태워 버렸다. –

+0

나는 당신의 스 니펫을 보지 못했습니다. 감사!!. 하지만 이제 예외가 발생합니다 : 'NSInvalidArgumentException'이라는 캐치되지 않은 예외로 인해 응용 프로그램을 종료했습니다. 이유는 : '- [SPCategory isEqualToString :] : 인스턴스 0x1cda54f0로 보낸 인식 할 수없는 선택자'입니다. 어쩌면 이것은 뭔가 다른 것입니다. 그래서 당신이 대답으로 코멘트를 넣으면 받아 들일 것입니다. 같은 문제라고 생각한다면, 어떤 도움을 주셔서 감사합니다. –

답변

1

self.expense.category = ((SPCategory *)[allCategories objectAtIndex:row])을보십시오.

+0

감사합니다. 범주를 표시하고 피커 항목으로 선택하는 문제를 해결했습니다. 그러나 RootVC로 돌아 가면 셀 텍스트 필드를 채우는 데 예외가 발생합니다. 어떤 생각이든, 또는 새로운 질문을해야합니까? 현재, 나는 cell.detailTextLabel.text = [exp valueForKey : @ "category"]; –

+1

내 생각에 'cell.detailTextLabel.text = ((SPCategory *) [exp valueForKey : @ "category"]]) .name'? 하지만 무슨 특급인지 확실하지 않습니다. – jlujan

+0

예, 나는 일을하고 있지만 범주를 속성이 아닌 비용의 관계로 변경했습니다. 내가 수정해야 할 몇 가지 코드가있는 것 같다. 오, 새해 전날이나 다른 일과는 다르다. .. 오 .. 기다려라. –