iOS sideMenu保留

时间:2013-09-22 05:03:06

标签: iphone ios storyboard

我正在关注本教程:http://www.appcoda.com/ios-programming-sidebar-navigation-menu/

但是,我需要能够从类视图控制器访问侧边菜单,如图像enter image description here中所示。我的第一个视图控制器是用户需要登录到服务器的登录屏幕。为了解决这个问题,我在显示视图控制器@property (strong, atomic, retain) NSString *SWSegueFrontIdentifier;中创建了一个属性。然后我使用getter和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 个答案:

答案 0 :(得分:1)

宣布财产后     @property(强,原子,保留)NSString * SWSegueFrontIdentifier;

你使用合成来创建getter和setter

@synthesize SWSegueFrontIdentifier = _SWSegueFrontIdentifier;

然后你就这样做

self.revealViewController.setSWSegueFrontIdentifier =@"sw_front";

这就是我想出来的。