Вызовите переменную из одного файла в другой - PullRequest
0 голосов
/ 14 мая 2011

В Objective C я собираюсь вызвать переменную из одного .m в другой .m

Это задано как myvar, объявленный как int в Example1.h

Example1.m

myvar = myvar+10

Example2.m

if (myvar == 10){NSLOG("@myvar equals the correct integer: %i",myvar);}

Однако по умолчанию myvar будет равно 0, поскольку myvar вызывается из Example1.h в Example2.m.

Ответы [ 2 ]

1 голос
/ 14 мая 2011

Я бы порекомендовал вам прочитать основы, возможно, Объектно-ориентированное программирование с Objective-C может быть хорошим началом для начала.Я предполагаю, что вы действительно должны создать свойство в одном классе и получить к нему доступ из другого.

1 голос
/ 14 мая 2011

Для глобальных значений создайте класс для их хранения и определите переменные как статические.Вы также можете определить методы уровня класса для управления статической переменной.Я называю мой класс appState.Вы можете определить myVar как статический, а затем методы класса (используйте + not -), чтобы получить и установить эту переменную.

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

account.h

#import <Foundation/Foundation.h>

@interface Account : NSObject 
{
}

+(BOOL)isOffLine;
+(void)setOffLine:(BOOL)newValue;

@end

account.m

#import "Account.h"

@implementation Account

static BOOL _offline;

+(BOOL)isOffLine;
{
    return _offline;
}

+(void)setOffLine:(BOOL)newValue
{
    _offline = newValue;
}

@end

Теперь из любого класса в моем приложении я могу #import account.h, а затем использовать что-то вроде:

if ([Account isOffLine]) {...}

или

[Account setOffLine:YES];

Обратите внимание, что я не создал экземпляр этого класса.Я вызываю методы уровня класса.Это значение будет сохраняться между вызовами из разных классов в моем приложении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...