我在class1中有实例变量来保存整数值(tableview中的单元格数),我想在另一个类中使用这个变量(例如class2)但我不知道使用了哪种语法???
答案 0 :(得分:0)
«如果可能的话使用成员变量。
@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 ];
答案 1 :(得分:0)
你可以这样做:
例如:您希望将字符串从Class1
传递到Class2
。
首先在Class2中创建String,并将其定义为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
- 如果应用程序崩溃,可能会丢失存储的值。
答案 2 :(得分:-1)
您可能想要使用属性。这是一个例子:
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
答案 3 :(得分:-1)
@implementation classA {
int v;
}
id x = [[classA alloc] init];
x->v = 123;
用Google搜索“目标c实例变量”并找到了这篇文章。 http://blog.ablepear.com/2010/04/objective-c-tuesdays-instance-variables.html