0

我创建了一个UINavigationController被调用的子类,CustomNavigationController它跟踪用户当前所处的级别。

它有一个名为currentLevel, 类型的属性NSString

// CustomNavigationController.h
#import <UIKit/UIKit.h>
@interface CustomNavigationController : UINavigationController{
    NSString *_currentLevel;
}    
@property (nonatomic, retain) NSString *currentLevel;
@end

我可以使用以下内容从子视图控制器中检索属性:

[(CustomNavigationController *)self.navigationController currentLevel];

然而,currentLevel 总是返回(null)

我在我的视图控制器中引用了一个 setter 方法来增加它:

[(CustomNavigationController *)self.navigationController setCurrentLevel:@"Level 5"];
NSLog(@"%@",[(CustomNavigationController *)self.navigationController currentLevel]);
//returns Level 5

但是,当一个新的视图控制器被推入堆栈或从堆栈中弹出时,我在viewDidLoad方法中的原始行返回(null).

ViewController我的CustomNavigationController. 这个 View Controller 取决于知道它在哪个级别。我有逻辑根据用户当前在CustomNavigationController.

4

0 回答 0