我应该如何在多个viewcontrollers中使用Facebook对象

时间:2011-08-21 14:04:27

标签: iphone objective-c ios facebook singleton

过去几天我一直在使用Facebook iOS API,我遇到了一些问题。如果我有两个不同的视图控制器都需要使用Facebook对象我应该如何共享该对象?是否有必要分享它?我一直在考虑制作一个单身人士。我想做的是创建一个名为“sharedFacebook”的类方法“SocialMedia”。

然后我有另一个名为PREFIXFacebook的类,我遵守会话协议并创建一个对象。这个类有一个名为facebook的属性。然后我在SocialMedia类中实例化该类并将方法“facebook”发送给它并将返回的对象分配给SocialMedia中的静态Facebook变量。这是糟糕的设计吗?我之前没有做太多单身,我甚至不知道是否有必要,但我不想复制代码。

另一种方法是在app委托中执行此操作,但我在此处阅读了有关堆栈溢出的帖子,并在其中一个stanford iOS视频中听到,使用全局进行此类操作是不好的。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

与大多数事情一样,全局变量在适度方面也不错。如果你滥用它们,你将缺乏内存,但我认为在这种情况下是合理的。单身人士本质上是一个全球变量,我相信你的计划是一个很好的计划。它不仅可以帮助您使用Facebook,还可以帮助其他单一登录网站,如Twitter和Google +。

为了保持占用空间小,您不希望在Singleton类中存储一百万个东西。尽量只存储避免重新验证所需的最低限度。这可能只意味着Facebook对象本身,而不是它的附加包装类。