如何声明一个字符数组,以便在类中定义的所有函数都可以将它与更新后的值一起使用。
在@synthesize定义中定义char数据[4096]时出错。
@interface A: NSObject
{
char data[4096];
}
@property(nonatomic,retain)char data;
@end
@implementation A
@synthesize data
@end
我收到“在界面中找不到属性'pData'的声明”
答案 0 :(得分:2)
不确定为什么会出现这个错误,但代码中有几件事显然是错误的:
data
实例变量和它的属性有不同的类型。财产申报应该是
@property(nonatomic) char[4096] data;
您必须仅对obj-c类型属性使用retain属性,对于普通c类型使用assign(或者不指定任何内容,因为默认情况下使用assign)
直接将指向char的指针暴露给更改可能不是一个好主意 - 更好地使您的属性只读并使用特殊方法来更改其内容:
@property(nonatomic, readonly) char[4096] data;
- (void) changeData:...//some parameters here
P.S。可以考虑使用NSString*
(或NSMutableString*
)而不是char []?
P.P.S。或者,如果您只是存储一些随机字节数据,请考虑使用NSData / NSMutableData。 (感谢@bbum建议)