Pls помочь мне с этим:Доступ экземпляр AppDelegate но ошибка: EXC_BAD_ACCESS
AppDelegate имеет аргумент с именем «пользователь»:
@interface AppDelegate : UIResponder <UIApplicationDelegate>
{
User *user;
}
@property (nonatomic, retain) User *user;
и я инициализировать пользовательский экземпляр в Фрист ViewController :
User *userInfo = [[User alloc] initWithRealName:realName UserId:userId];
и установите пользователю AppDelegate'S:
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
appDelegate.user = userInfo;
Во втором ViewController, я могу получить REALNAME варианты использования, нет никаких проблем:
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
NSString *realName = appDelegate.user.realName;
Но когда я нажимаю на другой ViewController, и я хочу, чтобы получить REALNAME пользователя, как только сейчас, но является ошибкой: EXC_BAD_ACCESS:
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
User *user = appDelegate.user;
NSLog(@"I am in noticeDetailViewController:%@",user.realName);***//ERROR***
И я хочу знать, почему? и как исправить эту ошибку.
Спасибо!
User.h & User.m
@interface User : NSObject
{
NSString *realName;
NSString *userId;
}
@property (nonatomic, retain)NSString *realName;
@property (nonatomic, retain)NSString *userId;
- (id)initWithRealName :(NSString *)realNameArgument UserId :(NSString *)userIdArgument;
@end
@implementation User
@synthesize realName,userId;
- (id)initWithRealName :(NSString *)realNameArgument UserId :(NSString *)userIdArgument
{
self = [super init];
if (self)
{
realName = realNameArgument;
userId = userIdArgument;
}
return self;
}
- (void)dealloc
{
[super dealloc];
[realName release];
[userId release];
}
@end
вы определили свойство для пользователя? – NeverBe
Yeap, я уверен с этим. – jxdwinter