2011-03-10 5 views
0

간단한 TableView가 있고 항목을 클릭 할 때 자세한보기로 푸시하는 앱이 있습니다. 하지만 속성을 사용하여 상세보기로 벨소리 * 개체를 전달할 때 EXC_BAD_ACCESS로 갇혀 있습니다. 아이템 선택 이벤트에이어서iPhone 개발. 보기간에 데이터를 전달할 때 EXC_BAD_ACCESS

@interface RingtoneDetailViewController : UITableViewController { 
    Ringtone *R; 
} 

@property (nonatomic, retain) Ringtone *R; 

@end 

:

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

    RingtoneDetailViewController *detailViewController = [[RingtoneDetailViewController alloc] initWithStyle:UITableViewStyleGrouped]; 

    Ringtone *r = [ringtoneList objectAtIndex:[indexPath row]]; 
    detailViewController.R = r; //EXC_BAD_ACCESS This line 

    [self.navigationController pushViewController:detailViewController animated:YES]; 
    [detailViewController release]; 

} 
여기
@interface Ringtone : NSObject { 
    NSString *ringtoneName; 

    NSString *desc; 

    NSString *fileName; 

    NSDate *date; 

    int cId; 

    int rId; 

    int downloads; 

    int fileSize; 
} 

@property (nonatomic, retain) NSString *ringtoneName; 

@property (nonatomic, retain) NSString *desc; 

@property (nonatomic, retain) NSString *fileName; 

@property (nonatomic, retain) NSDate *date; 

@property (nonatomic, assign) int cId; 

@property (nonatomic, assign) int rId; 

@property (nonatomic, assign) int downloads; 

@property (nonatomic, assign) int fileSize; 

@end 

가 DetailedViewController의 속성 정의이다 : 여기

데이터를 저장 벨소리 클래스의 정의이며

R 속성을 할당 할 때 EXC_BAD_ACCESS가 발생했습니다. 나는 어디에서 실수 했습니까?

+1

OT : 기본적으로 구체적인 유형 (즉, 벨소리 : ringtoneName, desc, fileName, 날짜)을 복사해야합니다 ( – justin

+0

). detailViewController 객체에 할당하기 전에 벨소리 객체에 메모리를 할당해야합니다. – Swapna

답변

0

objectRingtone인지 확인하십시오. allocated입니다.

+0

벨소리 개체에 대한 할당 코드는 어디에 배치해야합니까? – MaoWoo

+0

값을 할당하기 전에 할당 할 필요가 없습니다. – visakh7

0

구현 클래스에서 속성을 합성해야합니다. 속성을 만들고 다른 클래스의 해당 속성을 사용하려면 해당 속성을 합성해야하기 때문에.

+0

이미 합성 사용 중입니다. – MaoWoo