我正在尝试从另一个脚本导入变量!在脚本blabla2.m我[listaDiOggetti addObject:strResult];
问题是"Use of undeclared identifier 'strResult'"
但在blabla2.h中我使用#import "blabla1.h"
并在blabla1.h中我:@property (retain, nonatomic) NSString *strResult;
为什么blabla2看不到blabla1的变量?
答案 0 :(得分:1)
由于Objective-C是一种面向对象的语言,您可能希望阅读Objective-C中的类和属性:Declared Properties
@property
不是变量。它是一个帮助封装类变量的属性。
//blabla1.h
@interface Blabla1 : NSObject {
NSString *_strResult; //Class variable
}
@property (strong) NSString *strResult; //Property
@end
//blabla1.m
@implementation Blabla1
//setup Getter/Setter as strResult using _strResult
@synthesize strResult = _strResult;
@end
因此,一旦在blabla1.h
中定义了类变量,就可以在创建blabla1
实例后使用该属性访问它,如下所示:
Blabla1 *myBlabla1Obj = [Blabla1 alloc] init];
...
NSString *someString = [myBlabla1Obj strResult];