0

也许是一个非常基本的问题,但我不明白......

我已经编写了自己的类,以便在我的 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

我在视图控制器的函数调用中创建了一个 vcardItem 对象。数据已填充并可访问。调用函数 initWithPayload 并设置所有属性。

然后我打开另一个视图来显示详细信息并使用我的 vcardItem 对象调用函数 setVCard(仍然可以完全访问):

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

那么在 VCardViewController 中,只有 NSString 属性是可访问的。一旦我尝试访问 VCardNItem、vCardADRitem 或 vCardTELitem 的属性,我就会收到 EXC_BAD_ACCESS 错误。

看起来 vcardItem 对象中的对象不可用!?

我已经设置了 NSZombie... 东西,我的 vcardItem 对象仍然存在(没有“Zombie”),但我无法访问数据。

任何的想法?我有点卡在这里......

4

1 回答 1

0

代码审查完成了这项工作,在针对 iOS 5 构建 Xcode 4 之后一切都很好!

于 2011-11-06T11:20:58.643 回答