Heres код я использую, увидеть свою ошибку послеiPhone, как использовать переменную делегата приложения, чтобы ее можно было использовать как глобальные переменные?
@interface MyAppDelegate : NSObject {
NSString *userName;
}
@property (nonatomic, retain) NSString *userName;
...
@end
и в файле .M для App делегата можно было бы написать:
@implementation MyAppDelegate
@synthesize userName;
...
@end
Затем, когда вы хотите получать или написать имя пользователя, можно было бы написать:
MyAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
someClass.someString = appDelegate.userName; //..to fetch
appDelegate.userName = ..some NSString..; //..to write
предупреждение: тип «идентификатор» не соответствует «MyAppDelegate» протокола
Что мне недостает в моем коде?
Добавлен фрагмент кода –
Это ответ - приведение к вашему типу App делегата, как вы тянете ссылку из UIApplication. Тем не менее, если у вас есть много таких видов полей данных, вы должны рассмотреть вопрос о их размещении в синтаксисе диспетчера данных. Сохранение всех ваших данных в качестве свойств делегата приложения не является фантастическим подходом. –
Дэн, я согласен, это не лучшая практика для AppDelegate для таких хостингов. –