Вы можете использовать свойство в делегате приложения, так как вы всегда можете получить экземпляр делегата приложения с помощью:
[ [ UIApplication sharedApplication ] delegate ]
Итак:
/* AppDelegate.h */
@interface AppDelegate: NSObject < UIApplicationDelegate >
{
int x;
}
@property( readonly ) int x;
@end
/* AppDelegate.m */
#import "AppDelegate.h"
@implementation AppDelegate
@synthesize x;
@end
Таким образом,уметь использовать:
[ [ [ UIApplication sharedApplication ] delegate ] x ]
Другой подход заключается в использовании глобальной переменной, объявленной как extern в вашем файле abc.h и определенной в файле abc.m.
/* abc.h */
extern int x;
/* abc.m */
int x = 0;
Таким образом, другие файлы смогут получить доступ к x, только включив abc.h.extern
сообщает компилятору, что переменная будет определена позже (например, в другом файле) и что она будет разрешена во время ссылки.