2013-09-22 85 views
0

我下面這個教程:http://www.appcoda.com/ios-programming-sidebar-navigation-menu/的iOS sideMenu保留

不過,我需要能夠從類訪問側面菜單視圖控制器作爲圖像enter image description here所示。雖然我的第一個視圖控制器是用戶需要登錄到服務器的登錄屏幕。爲了解決這個問題,我在揭示視圖控制器@property (strong, atomic, retain) NSString *SWSegueFrontIdentifier;內做了一個屬性。然後,我使用getters和setter來分配哪個視圖控制器應該/從哪個視圖控制器。我在視圖控制器中分配第一個值sw_first,一切都很好。在第二張圖中看到的同學視圖控制器的ViewDidLoad中,我分配了sw_front。但是,即使在同一個函數中,如果我試圖從揭示控制器打印屬性,它最終返回null。但是,如果我手動將視圖控制器內的SWSegueFrontIdentifier切換到sw_front,它會很好,但最終會跳過我的視圖控制器,這是我的登錄控制器。我只需要從我的同學視圖控制器訪問側面菜單的一種方式,並沒有任何運氣,因爲它似乎www.cocoacontrols.com上的大多數東西都使用沒有故事板,我似乎無法得到它們上班。 enter image description here

此代碼返回null:

[self.revealViewController setSWSegueFrontIdentifier:@"sw_front"]; 
    tempMenuButton.target = self.revealViewController; 
    tempMenuButton.action = @selector(revealToggle:); 

NSLog(@"reveal view controller prop2: %@", self.revealViewController.SWSegueFrontIdentifier); 

上我能做些什麼來得到這個工作任何想法?

編輯:唯一我能想到的是某種記憶保留問題,但我似乎無法弄清楚。

回答

1

聲明屬性後 @property(strong,atomic,retain)NSString * SWSegueFrontIdentifier;

AVE您使用的合成創建getter和setter

@synthesize SWSegueFrontIdentifier = _SWSegueFrontIdentifier; 

,然後你就去做這樣的

self.revealViewController.setSWSegueFrontIdentifier [email protected]"sw_front"; 

這是我想出了。