Iphone 如何访问其他类的委托并更新数据
第一类{ 类数组 皮克维 数据源=self;(此处为ClassArray) pickerivew.delegate=self } 第二类{ 这里是如何获取class1 pickerview的委托并更新class1数组 之后,当从class2弹出到class1时,pickerview必须显示新数组,它来自class2 不应使用appdelegateIphone 如何访问其他类的委托并更新数据,iphone,Iphone,第一类{ 类数组 皮克维 数据源=self;(此处为ClassArray) pickerivew.delegate=self } 第二类{ 这里是如何获取class1 pickerview的委托并更新class1数组 之后,当从class2弹出到class1时,pickerview必须显示新数组,它来自class2 不应使用appdelegate }在类1中定义数组和选择器视图的属性: @property (nonatomic, retain) NSArray* array; @property
}在类1中定义数组和选择器视图的属性:
@property (nonatomic, retain) NSArray* array;
@property (nonatomic, retain) UIPickerView* pickerView;
对于类1的任何实例,您都可以通过
instance = [[Class1 alloc] init];
instance.array = ...
instance.pickerview = ...
编辑:
使用静态类变量的示例:
@interface Class1 : NSObject {
}
+ (NSArray*)getArray;
@end
@implementation Class1
static NSArray* array = nil;
+ (NSArray*)getArray {
if (! array) {
array = [[NSArray alloc] initWithObjects:@"Your", @"data", @"goes", @"here", nil];
}
return array;
}
@end
然后,您可以使用从任何位置访问阵列
[Class1 getArray]
如何准确地声明数组和pickerview?看起来很奇怪。另外,为什么不让它们成为实例变量,并且您可以在所有类中访问它们呢?类1是您的根对象吗?或者2类的a实例变量是否拥有1类的实例变量?如果不分配class1对象,我们如何访问。这意味着如何将class1的整个对象(即pushee)获取到class2,而class2由class1推送。那么,您必须将数组和pickerview声明为class1中的静态全局变量,并添加一个类方法来访问它们。我不得不说,我不完全理解你的问题。你为什么不想分配class1的一个实例呢?比如[[uiapplication sharedapplication]delegate],那么我们就可以正确地获得appdelegate的ivar。我怎么能这样呢。但是你的第二个答案非常令人印象深刻,请给我一些关于这个的代码示例