1
我已经创建了结构并想从另一个类中访问它的数据。所以,我创建了属性,但出现了一个错误:“在File类型的对象上找不到属性dfi”。我做错了什么?如何从另一个类的结构访问数据?
//File.h
typedef struct
{
double *data;
int a;
} DataFileInfo;
@interface File : NSObject {
DataFileInfo dfi;
}
@property DataFileInfo dfi;
//File.m
@implementation File
@synthesize dfi;
在File2
类我试图访问该属性
//File2.m
@implementation File2
File *file = [[File alloc]init];
double *b = file.dfi.data; // error "Property dfi not found on object of type File".
我猜编译器是困惑,因为你声明的类型DataFileInfo'的'属性'VS * DataFileInfo',它不知道如何处理。另外,对于属性的非Objective-C类型,您应该明确指定“assign”或属性应具有的任何访问技术。 – 2012-07-08 13:56:03
为什么不使用对象而不是结构? – 2012-07-08 14:13:33
我会推荐重新命名你的班级。文件很可能与标准或第三方框架发生冲突。使用'AppnameFile'或类似的。 – wadesworld 2012-07-08 14:49:32