我正在尝试为 Objective-C 中的自定义按钮类(适用于 iOS)声明一些实例变量:
@interface PatientIDButton : UIButton {
NSUInteger patientID;
NSString * patientName;
}
@end
但是,这些现在是私有的,我需要其他类可以访问它们。我想我可以为它们创建访问器函数,但我如何将变量本身公开?
我正在尝试为 Objective-C 中的自定义按钮类(适用于 iOS)声明一些实例变量:
@interface PatientIDButton : UIButton {
NSUInteger patientID;
NSString * patientName;
}
@end
但是,这些现在是私有的,我需要其他类可以访问它们。我想我可以为它们创建访问器函数,但我如何将变量本身公开?
要使实例变量公开,请使用@public
关键字,如下所示:
@interface PatientIDButton : UIButton {
// we need 'class' level variables
@public NSUInteger patientID;
}
@end
当然,您需要记住公开“原始”变量以供公共访问的所有标准预防措施:使用属性会更好,因为您将保留在以后更改其实现的灵活性。
最后,您需要记住访问公共变量需要取消引用 - 使用星号或->
运算符:
PatientIDButton *btn = ...
btn->patientID = 123; // dot '.' is not going to work here.