Как ваш второй класс должен знать об этой переменной в первую очередь?
То, что вы опубликовали здесь, показывает, что экземпляры вашего AppDelegate
класса имеют члена с именем className
, который имеет типClassName
.Это означает, что в каждом методе экземпляра AppDelegate-class
(начинающемся со знака минус) вы можете получить доступ к этой переменной по имени className
.
Это, однако, не означает, что вы можете напрямую получить доступ к этой переменной из любого места!На самом деле, полная противоположность гораздо ближе к истине.
Если вы хотите получить доступ к этой переменной откуда-то еще, есть пара опций - вероятно, наиболее распространенным из них будет предоставление метода доступа дляэто (и для этого снова есть несколько вариантов).
Рассмотрим следующее:
@interface ClassA : NSObject {
NSMutableString *interestingMember;
NSMutableString *inaccessibleMember;
}
-(NSMutableString*)interestingMember;
@end
@interface ClassB : NSObject {
}
-(void)appendString:(NSString*) toMemberOfObject:(ClassA*);
@end
@implementation ClassB
-(void)appendString:(NSString*)string toMemberOfObject:(ClassA*)object
{
[[object interestingMember] appendString:string]; //this will work: you can access the variable through its accessor
[inaccessibleMember length]; // this will give a compile error, because the variable is undefined in the current scope
}
@end
Так как это довольно простые вещи ООП, яМы рекомендуем вам прочитать Цель обучения C: Учебник для начинающих и некоторые другие вводные материалы на веб-сайте Apple.