我正在尝试确定将数据从 UISplitViews Master 发送到其详细信息的最佳做法。我想尽量避免导入标头并使代码尽可能可重用。我觉得应该有一个非常好的方法来做到这一点,但我能想到的最好的方法是声明一个协议,但有时协议会变得有点混乱恕我直言。并通过使用与细节交谈
[self setDelegate:id<myProtocol>)self.splitViewController.viewControllers objectAtIndex:1]];
似乎有点片状
有任何想法吗?
我正在尝试确定将数据从 UISplitViews Master 发送到其详细信息的最佳做法。我想尽量避免导入标头并使代码尽可能可重用。我觉得应该有一个非常好的方法来做到这一点,但我能想到的最好的方法是声明一个协议,但有时协议会变得有点混乱恕我直言。并通过使用与细节交谈
[self setDelegate:id<myProtocol>)self.splitViewController.viewControllers objectAtIndex:1]];
似乎有点片状
有任何想法吗?
您可以继续使用您的 appDelegate 来保存不同的变量并从您的视图控制器访问它们。但我建议创建一个新的 Singleton 类来为你做这件事。
例如,创建一个名为 eg Holder.h
+的类.m
并声明所有需要的变量。
。H:
@property (nonatomic, strong) NSArray *someArray;
.m
+(id)sharedHolder{
static Holder *holder = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
holder = [[self alloc] init];
});
return holder;
}
现在你可以通过做设置你的变量[[Holder sharedHolder] setSomeArray:anotherArray]
,然后像这样从其他地方读取它:[[Holder sharedHolder] someArray]
编辑:您也可以使用 Antonio 的方法NSNotification