我正在尝试为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.
@property NSUInteger patientID
。然后,每个按钮实例都可以通过标准的Obj-C方法进行访问。myButton.patientID。 - Dan Fairaizl(*btn).patientID
,而不是其他方式? - Sergey Kalinichenko