我正在尝试从另一个脚本导入变量!在脚本 blabla2.m 我有[listaDiOggetti addObject:strResult];
问题是"Use of undeclared identifier 'strResult'"
但在 blabla2.h 我正在导入#import "blabla1.h"
在 blabla1.h 我有:@property (retain, nonatomic) NSString *strResult;
为什么blabla2看不到blabla1的变量?
我正在尝试从另一个脚本导入变量!在脚本 blabla2.m 我有[listaDiOggetti addObject:strResult];
问题是"Use of undeclared identifier 'strResult'"
但在 blabla2.h 我正在导入#import "blabla1.h"
在 blabla1.h 我有:@property (retain, nonatomic) NSString *strResult;
为什么blabla2看不到blabla1的变量?
由于 Objective-C 是一种面向对象的语言,您可能需要阅读 Objective-C 中的类和属性:声明的属性
A@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];