访问另一个类的变量

时间:2011-03-22 15:15:10

标签: objective-c variables properties getter-setter

如何访问其他类的变量?这就是我实现它的方式。

@interface Class1 :NSObject {

NSString *数据; }     @property(nonatomic,retain)NSString * Data;

@implementation Class1
@synthesize Data;
someMethod{
self.Data = @"something";
}

并且在Class2中:

@implementation Class2
someMethodOfClass2{
Class1 *c=[[Class1 alloc]init];
[c someMethod];
NSString *str=c.Data;
}

我在Class2中将c.Data视为null。我在这里做错了吗?

----------- -------------- MyClass1的

@interface APIManager:NSObject {     NSString *数据; }

@property(nonatomic,retain)NSString * Data;

- (无效)的getData;

@end

@implementation APIManager

@synthesize Data;

- (无效)的getData { self.Data = @ “响应”; }

-------- ------------- myClass2

@interface Search:NSObject {

}

- (void)searchForItems:(NSString *)query;

@end

@implementation Search

- (void)searchForItems:(NSString *)query { APIManager * apiManager = [[APIManager alloc] init]; [apiManager getData]; NSLog(@“%@”,[apiManager数据]); }

2 个答案:

答案 0 :(得分:1)

您应该使用self.Data = @"something"代替self.Data = "something"

答案 1 :(得分:0)

在Objective-C中,您必须使用@"something"而不是"something"。你也不错过变量声明吗?在@interface中,您应该执行NSString *Data

之类的操作