Objective c 另一类的访问变量

Objective c 另一类的访问变量,objective-c,variables,properties,getter-setter,Objective C,Variables,Properties,Getter Setter,如何访问其他类的变量?我就是这样实现的 @interface Class1 :NSObject { NSString*数据; } @属性(非原子,保留)NSString*数据 @implementation Class1 @synthesize Data; someMethod{ self.Data = @"something"; } 在第2类中: @implementation Class2 someMethodOfClass2{ Class1 *c=[[Class1 alloc]init

如何访问其他类的变量?我就是这样实现的

@interface Class1 :NSObject {
NSString*数据; } @属性(非原子,保留)NSString*数据

@implementation Class1
@synthesize Data;
someMethod{
self.Data = @"something";
}
在第2类中:

@implementation Class2
someMethodOfClass2{
Class1 *c=[[Class1 alloc]init];
[c someMethod];
NSString *str=c.Data;
}
我在Class2中得到的c.数据为null。我做错什么了吗

-----------myClass1--------------

@接口管理器:NSObject{ NSString*数据; }

@属性(非原子,保留)NSString*数据

@implementation Class1
@synthesize Data;
someMethod{
self.Data = @"something";
}
-(void)获取数据

@结束

@实施经理

@综合数据

-(void)获取数据{ self.Data=@“响应”; }

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

@接口搜索:NSObject{

}

-(void)searchForItems:(NSString*)查询

@结束

@实现搜索

-(void)searchForItems:(NSString*)查询{ apimager*apimager=[[apimager alloc]init]; [apiManager获取数据]; NSLog(@“%@,[apiManager数据]);
}您可能应该使用
self.Data=@“something”
而不是
self.Data=“something”

您可能应该使用
self.Data=@“something”
而不是
self.Data=“something”

在Objective-C中,您必须使用
@“something”
而不是
“something”
。另外,您是否缺少变量声明?在您的
@界面中
您应该执行类似于
NSString*Data的操作

在Objective-C中,您必须使用
@“某物”
而不是
“某物”
。另外,您是否缺少变量声明?在
@界面中
您应该执行类似于
NSString*Data

的操作,很抱歉我没有编写完整的代码。这只是一个摘录。self.Data=@“Somethin”是正确的,并且在接口中声明了“Data”。您仍然缺少几个部分(这两个方法都应该标记为这样并包含在接口中),但除此之外,您的代码没有明显的问题。您可能需要发布一个更完整的示例;)我已经添加了我的代码。你能告诉我哪里出错了吗?不幸的是,我仍然不明白为什么它应该是空的。NSLog打印什么?问题已解决。我在做一种多线程。无论如何,谢谢Thomasorry,我没有写完整的代码。这只是一个摘录。self.Data=@“Somethin”是正确的,并且在接口中声明了“Data”。您仍然缺少几个部分(这两个方法都应该标记为这样并包含在接口中),但除此之外,您的代码没有明显的问题。您可能需要发布一个更完整的示例;)我已经添加了我的代码。你能告诉我哪里出错了吗?不幸的是,我仍然不明白为什么它应该是空的。NSLog打印什么?问题已解决。我在做一种多线程。无论如何,谢谢托马斯