2014-05-15 3 views
0

코어 데이터를 사용하고 있으며 obj-c의 루키입니다. 내 핵심 데이터에서 "위도"와 "경도"를 mapViewController으로 전달하려고합니다.데이터를 uitableviewcell to destinationviewcontroller에 전달할 수 없습니다.

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 
if ([segue.identifier isEqualToString:@"ShowMap"]) { 

    HaritaVC *destViewController = segue.destinationViewController;   
    NSIndexPath *path = [self.myTableView indexPathForSelectedRow]; 
    NSString *lattoPass = [NSString stringWithString:[[self.fetchedRecordsArray objectAtIndex:path.row]objectForKey:@"lat"]]; 
    NSString *lontoPass = [NSString stringWithString:[[self.fetchedRecordsArray objectAtIndex:path.row]objectForKey:@"lon"]]; 

    destViewController.latt = [[NSString alloc] initWithFormat:@"%@",lattoPass]; 
    destViewController.lonn = [[NSString alloc] initWithFormat:@"%@",lontoPass]; 

} 
} 

내 "의 tableview"코드 :

코드

'NSInvalidArgumentException', reason: '-[Notlar objectForKey:]: unrecognized selector sent to instance 0x1aa56b60'

+0

'Notlar'란 무엇입니까? – Larme

+0

당신의'didSelectRowAtIndexpath'를 보여주세요 – Templar

+0

당신의 반환 값처럼 보입니다 fetchedRecordArray는 Notlar 객체의 인스턴스가 아닙니다. 코드를 단계별로 실행하고 반환 된 객체를 인쇄하여 그것이 무엇인지 알 수 있습니다. 그것은 가치가 없습니까? –

답변

0

당신은 요구하고있다 : 나는 tableViewCell을 클릭하면

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ 

static NSString *CellIdentifier = @"MainCell"; 
CellDetail *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
Notlar * notlar = [self.fetchedRecordsArray objectAtIndex:indexPath.row]; 
cell.titleLabel.text = [NSString stringWithFormat:@"%@ %@, %@ ",notlar.bilgi,notlar.notlar,notlar.tarih]; 

return cell; 

} 

, 난이 오류가 Notlar 유형의 객체에있는 objectForKey로 구현하지는 않습니다. 여기에이 방법을 T :

NSString *lattoPass = [NSString stringWithString:[[self.fetchedRecordsArray objectAtIndex:path.row]objectForKey:@"lat"]]; 
NSString *lontoPass = [NSString stringWithString:[[self.fetchedRecordsArray objectAtIndex:path.row]objectForKey:@"lon"]]; 

귀하의 fetchedRecordsArray는 Notlar 객체가 아닌 사전을 포함하고,이 방법을 호출 할 수 없습니다 이유입니다.

자세한 내용은없이, 내가 정확하게 그것을 해결하는 방법을 말할 수 아니지만, 두 가지 가능성이 있습니다 중 하나를 당신의 Notlar 객체가 위도와 경도 속성을 포함하고 만 수행해야합니다

NSString *lattoPass = [NSString stringWithString:[(Notlar *)[self.fetchedRecordsArray objectAtIndex:path.row] lat]; 
NSString *lontoPass = [NSString stringWithString:[(Notlar *)[self.fetchedRecordsArray objectAtIndex:path.row] lon]; 

또는 fetchedRecordsArray 대신 lon 및 lat 값이있는 사전 배열에 액세스해야합니다.

+0

thx work 완벽 – SeRcCaN

+0

여러분, 환영합니다. 그것이 당신에게 효과가 있다면, 내 대답을 올바른 것으로 받아 들여야합니다 (답안 투표 수 아래의 체크 표시). – Garoal

관련 문제