Сохраняйте хэш для всех классов в приложении для iPhone - PullRequest
1 голос
/ 27 июня 2011

Я должен сохранить токен, полученный от API (базовая аутентификация HTTP).Токен будет передаваться для каждого запроса в приложении (в каждом классе).Приложение получает этот токен в первом классе и не должно спрашивать снова новый токен!

Как я могу сделать, чтобы сохранить токен ???

Class1: спросить токен, использовать токенво время запросов Class2: используйте токен во время запросов

Спасибо новичку iPhone; -)

1 Ответ

1 голос
/ 28 июня 2011

Вы можете создать одноэлементный объект, который будет использоваться для хранения токена. Class1 получит токен и передаст этот токен синглтону.Затем синглтон будет хранить этот токен и делать его доступным для всех других классов по мере необходимости.

Class1:

myToken = [self getToken];
[TokenStoringSingleton setToken:myToken];
....

Class2 (или любой другой класс, который хочет использоватьтокен):

myToken = [TokenStoringSingleton getToken];
....

Вы также можете создать новую переменную экземпляра в вашем делегате приложения для ее сохранения, например, MyAppDelegate.h

NSString *myToken;

@property (nonatomic, retain) NSString *myToken;

MyAppDelegate.m

@synthesize myToken;

Тогда вы могли бы использовать его из ваших классов Class1:

myToken = [self getToken];  // This calls a method that gets the token from the server
MyAppDelegate *delegate = (MyAppDelegate *)[UIApplication sharedApplication].delegate;
delegate.myToken = myToken;

Class2:

MyAppDelegate *delegate = (MyAppDelegate *)[UIApplication sharedApplication].delegate;
myToken = delegate.myToken;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...