其他类的访问变量
如何访问其他类的变量?这是我实现它的方式。其他类的访问变量
@interface Class1 :NSObject {
NSString * Data; } @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;
}
我得到c.Data为Class2中无效。我在这里做错了什么?
----------- -------------- MyClass1的
@interface APIManager:NSObject的{ 的NSString *数据; }
@property(nonatomic,retain)NSString * Data;
- (void)getData;
@end
@implementation APIManager
@synthesize数据;
- (void)getData self.Data = @“response”; }
-------- myClass2 -------------
@interface搜索:NSObject的{
}
- (空)searchForItems:(NSString *)query;
@end
@implementation搜索
- (无效)searchForItems:(的NSString *)查询{ APIManager * apiManager = [[APIManager的alloc] INIT]; [apiManager getData]; NSLog(@“%@”,[apiManager Data]); }
你应该使用的self.Data = @"something"
代替self.Data = "something"
在Objective-C,你必须使用@"something"
而不是"something"
。你是不是错过了变量声明?在你的@interface
你应该做一些像NSString *Data
。
问题解决。我正在做一种多线程。 – 2011-03-22 16:20:46
对不起,我没有写出整个代码。它只是一个摘录。 self.Data = @“Somethin”是正确的,并且在接口中声明了“Data”。 – 2011-03-22 15:25:17
你仍然缺少几块(这两种方法应该被标记为这样并包含在界面中),但除此之外,代码没有明显的问题。你可能想发布一个更完整的例子;) – 2011-03-22 15:27:33
我已经添加了我的代码。你能告诉我我哪里出错了吗? – 2011-03-22 15:44:35