0

我正在尝试从另一个脚本导入变量!在脚本 blabla2.m 我有[listaDiOggetti addObject:strResult];

问题是"Use of undeclared identifier 'strResult'"

但在 blabla2.h 我正在导入#import "blabla1.h"

在 blabla1.h 我有:@property (retain, nonatomic) NSString *strResult;

为什么blabla2看不到blabla1的变量?

4

1 回答 1

1

由于 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];
于 2012-08-31T17:56:39.947 回答