我有一个NSMutableArray,我正在尝试存储和访问一些结构.我该怎么做呢?'addObject'给我一个错误,说"addObject的参数1的不兼容类型".这是一个例子('in'是NSFileHandle,'array'是NSMutableArray):
//Write points
for(int i=0; i<5; i++) {
struct Point p;
buff = [in readDataOfLength:1];
[buff getBytes:&(p.x) length:sizeof(p.x)];
[array addObject:p];
}
//Read points
for(int i=0; i<5; i++) {
struct Point p = [array objectAtIndex:i];
NSLog(@"%i", p.x);
}
Run Code Online (Sandbox Code Playgroud) 我阅读了其他已发布的使用结构的解决方案并解决了"结构之前的预期说明符 - 限定符列表"相关错误,但这些解决方案无法正常工作.目标C有什么不同?我是否需要在类中的其他位置声明我的结构?它在我声明typedef的行上给出了错误.以下是它现在的样子:
@interface ClassA : NSObject {
NSString *name;
typedef struct _point {
uint32_t x;
uint64_t y;
} Point;
Point a;
}
@end
Run Code Online (Sandbox Code Playgroud)