Как сделать NSObject «глобальным» / доступным во всех методах?

Я немного новичок в программировании на Objective-C и не могу понять, как создать NSObject в одном методе и использовать его в другом.

Например:

У меня есть объект UserObject с такими свойствами, как firstName, lastName.

@interface UserObject : NSObject

@property (nonatomic, retain) NSString *userID, *firstName, *lastName, *profilePic, *fullName, *email, *twitter, *followingCount, *followerCount;

@end

В моем profileViewController.h я объявляю currentUser как @property (retain, nonatomic) UserObject *currentUser;

Вот в чем проблема. У меня есть этот IBAction

- (IBAction)followUser:(id)sender {
    NSLog(currentUser.firstName);
}

После получения данных json с сервера я запускаю метод ConnectionDidFinishLoading и внутри ->

- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
    [connection release];

    NSString *json = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
    [responseData release];
    NSDictionary *dataArray = [json JSONValue];

    UserObject *currentUserData = [[UserObject alloc] init];
    currentUserData.firstName = [dataArray objectForKey:@"first_name"];
    currentUserData.lastName = [dataArray objectForKey:@"last_name"];

    currentUser = currentUserData;        

    [dataArray release];
    [json release];
    [currentUserData release];
}

Теперь вот в чем проблема. Когда я запускаю этот IBAction, приложение падает.

- (IBAction)followUser:(id)sender {
NSLog(@"%@",currentUser.firstName);
}

Я почти уверен, что это потому, что currentUser недоступен для этого метода. Есть ли способ сделать объект currentUser глобальным, чтобы я мог получить его любым методом?

0
задан Peter Hosey 16 February 2013 в 01:24
поделиться

0 ответов