也许有人可以为我澄清这一点。整数值不会被方法改变
我有4个UITableViewControllers,第一个有一个属性
@property (nonatomic, assign) int editStarted;
我设置在FirstViewController该属性:
-(id)init
{
// Call the superclass's designated initializer
self = [super initWithStyle:UITableViewStyleGrouped];
if (self) {
editStarted = 0; // NO
}
return self;
}
现在,当我从视图控制器1导航到2至3至4 ,并在FourthViewController中做这样的事情:
FirstViewController *firstView = [[FirstViewController alloc] init];
NSLog(@"editStarted: %d,",firstView.editStarted);
NSLOG将打印0.(如果我给它的init另一个值,那么它会打印出值)
所以早在FirstViewController我这样做,将值更改为1:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
editStarted = 1;
}
现在,当我从视图控制器1导航到2至3至4的值并没有变为1,但仍然为0.
这是标准行为还是我做错了什么? 我想过从视图控制器1通过editStarted
到2到3到4的可能性,但我不确定这是否是正确的方法。这对我来说听起来有点多余。
。当然,这是有道理的!谢谢。通过使用导航控制器,你的意思是appDelegate.m,我定义了“ - (BOOL)应用程序:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions ”etc? – Eloy
只是为了您的信息,我想从视图控制器1到4,当我在4时,我想在VC1中显示从2到4的数据。我使用2到4来进行特定的选择。 – Eloy
在VC中,'self.navigationController'会让你进入导航控制器。代表关系适合于将选择数据从2,3和4回传给1。 – Wain