Как получить доступ к переменной Variable в другом классе

У меня есть переменная экземпляра в class1, которая сохраняет целочисленное значение (количество ячеек в табличном представлении), и я хочу использовать эту переменную в другом классе (например, class2), но я не знаю, какой синтаксис использовался???

4 ответа

"Если возможно, используйте переменную-член.

@interface MyClass : NSObject  
{
    int score;
}
@property (nonatomic, assign) int score;
@end

@implementation MyClass
@synthesize score;
@end

//access
MyClass *object = [MyClass alloc] init];
object.score = 99;

"Также вы можете использовать NSUserDefault

// Snippet used to save your highscore in the prefs.
int highScore  = yourGameScore;
[[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithInt:highScore] forKey:@"HighScore"];
[[NSUserDefaults standardUserDefaults] synchronize];


// Snippet used to get your highscore from the prefs.
highScore = [[[NSUserDefaults standardUserDefaults] objectForKey:@"HighScore"] intValue ];

Вы можете сделать как:

Например: вы хотите передать строку из Class1 в Class2,

Сначала создайте строку в Class2 и определите ее как свойство, как в Class2.h:

NSString *classTwoString;
@property (nonatomic, retain) NSString *classTwoString;

В Class2.m:

@synthesize classTwoString;

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

Class2 *class2 = [[Class2 alloc] init];    
class2.classTwoString= classOneString;

Я предлагаю вышеупомянутый метод.

С помощью NSUserDefaults - может потерять сохраненное значение в случае сбоя приложения.

@implementation classA {
    int v;
}

id x = [[classA alloc] init];
x->v = 123;

Погуглил "цель c переменной экземпляра" и нашел эту статью. http://blog.ablepear.com/2010/04/objective-c-tuesdays-instance-variables.html

Вы, вероятно, хотите использовать свойства. Вот пример:

Class1.h

@property int myValue

Class1.m

self.myValue = 2

Class2.m

int v = instanceOfClass1.myValue

Вот ссылка на руководство по использованию свойств: http://www.raywenderlich.com/2712/using-properties-in-objective-c-tutorial

Другие вопросы по тегам