如何访问其他类的变量?这就是我实现它的方式。
@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数据]); }
答案 0 :(得分:1)
您应该使用self.Data = @"something"
代替self.Data = "something"
答案 1 :(得分:0)
在Objective-C中,您必须使用@"something"
而不是"something"
。你也不错过变量声明吗?在@interface
中,您应该执行NSString *Data
。