也许一个非常基本的问题访问对象,但我不明白这一点...获得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对象仍然存在(没有“僵尸”),但我无法访问数据。
任何想法?我在这里有点困惑......
请尝试以下方法,VCardViewController * aVCardViewController = [[VCardViewController alloc] init]; [aVCardViewController setVCard:aVCard]; [self presentModalViewController:aVCardViewController animated:YES]; – Satya 2010-12-16 10:40:22
仅仅是一个约定,但是在可可/可可触摸中,你会写出以大写或大写字母开头的类名(通常取自对应框架),而变量名不会以大写字母开头。你是这样做的 – nacho4d 2010-12-16 10:41:09
@satya:如果我切换这两个语句,结果是,aVCardViewController中没有数据可用。 – MadMaxAPP 2010-12-16 17:27:32