2010-12-16 58 views
0

也許一個非常基本的問題訪問對象,但我不明白這一點...獲得EXC_BAD_ACCESS在子視圖

我寫我自己的類具有數據作爲我的iPhone應用程序的對象。該類是類型NSObject。該類有幾個NSString屬性,還有其他類的三個對象。

@interface vcardItem : NSObject { 
vCardNitem *PersonName; 
NSString *Phone; 
NSString *PhotoURL; 
vCardTELitem *PhoneData; 
NSString *URL; 
NSString *eMail; 
vCardADRItem *Address; 
NSString *Company; 
NSString *Role; 
int initialised; 
} 

@property (nonatomic, retain) vCardNitem *PersonName; 
@property (nonatomic, retain) NSString *Phone; 
@property (nonatomic, retain) NSString *PhotoURL; 
@property (nonatomic, retain) vCardTELitem *PhoneData; 
@property (nonatomic, retain) NSString *URL; 
@property (nonatomic, retain) NSString *eMail; 
@property (nonatomic, retain) vCardADRItem *Address; 
@property (nonatomic, retain) NSString *Company; 
@property (nonatomic, retain) NSString *Role; 
@property int initialised; 

-(id)initEmpty; 
-(id)initWithPayload:(NSString *)payload; 
-(void)sendToAddressBook; 
-(void)debugVCard; 
-(NSString *)getFirstName; 
@end 

我在我的viewcontroller函數調用中創建vcardItem的對象。數據已填寫且可訪問。調用函數initWithPayload並設置所有屬性。

然後我打開另一視圖顯示詳細信息和呼叫我vcardItem對象的功能setVCard(這仍然是completeley訪問):

VCardViewController *aVCardViewController = [[VCardViewController alloc] init]; 
[self presentModalViewController:aVCardViewController animated:YES]; 
[aVCardViewController setVCard:aVCard]; 

的VCardViewController內,那麼,只有NSString的propertys是入店。只要我試圖訪問VCardNItem,vCardADRitem或vCardTELitem的屬性,我就會得到一個EXC_BAD_ACCESS錯誤。

看起來像vcardItem對象內的對象不可用!?

我已經設置NSZombie ...東西,我的vcardItem對象仍然存在(沒有「殭屍」),但我無法訪問數據。

任何想法?我在這裏有點困惑......

+0

請嘗試以下方法,VCardViewController * aVCardViewController = [[VCardViewController alloc] init]; [aVCardViewController setVCard:aVCard]; [self presentModalViewController:aVCardViewController animated:YES]; – Satya 2010-12-16 10:40:22

+0

僅僅是一個約定,但是在可可/可可觸摸中,你會寫出以大寫或大寫字母開頭的類名(通常取自對應框架),而變量名不會以大寫字母開頭。你是這樣做的 – nacho4d 2010-12-16 10:41:09

+0

@satya:如果我切換這兩個語句,結果是,aVCardViewController中沒有數據可用。 – MadMaxAPP 2010-12-16 17:27:32

回答

0

代碼審查完成這項工作後,在Xcode 4對iOS 5建設一切都很好!

相關問題