2011-04-25 47 views
2

我有一個UIViewController在選項卡欄應用程序。我從MainWindow.nib文件中添加了控制器(即不是以編程方式)。UIViewController作爲一個單身人士

我的問題是如何使我的視圖控制器單身? (解決Facebook委託問題)。

+2

我感覺到代碼味道。 – 2011-04-25 18:56:00

+1

單身臭? – 2011-04-25 19:07:11

+1

這是一個非常糟糕的主意。正是這種單身人士的濫用,使得更多有經驗的程序員建議避免他們一起。 – TechZen 2011-04-25 19:16:39

回答

0

你可以做任何一類單加入這樣的事情.m文件(你也必須聲明添加到.H):

+ (id)sharedInstance { 
    static id sharedInstance; 
    @synchronized(self) { 
    if (!sharedInstance) 
     sharedInstance = [[ClassName alloc] init]; 
    return sharedInstance; 
    } 
} 
1

如果你真的想創建單身(但我不認爲你這樣做,請重新考慮你的設計 - 究竟是什麼「facebook委託問題」),看看這裏in Apple's sample code

+0

嗨,我真的不想這樣做,但閱讀後的一些帖子後:http://stackoverflow.com/questions/4215797/fbdidlogin-never-called-facebook-ios-sdk和http://stackoverflow.com/questions/4244609/fbdidlogin-not-called我覺得這是唯一的解決方案。 – 2011-04-25 19:21:32

+1

我上週剛剛做了一個FB控制器。在這個視圖控制器的生產過程中沒有單身人士受傷;-) – 2011-04-25 19:24:07

+0

澄清,如果使用FB庫的多個客戶端確實存在問題(我沒有線索,只是從您的評論中猜測),那麼您仍然不應該有一個問題,視圖控制器不是從空氣中創建的。 – 2011-04-25 19:27:38

2

你可能想讓你的「Facebook連接代碼」成爲單身人士(或部分應用程序委託),但不是視圖控制器本身。然後,只需將FB與任何需要它的視圖控制器連接起來。