gpt4 book ai didi

ios - 在 UIViewController 之间传递变量无法按预期工作

转载 作者:行者123 更新时间:2023-12-03 16:57:19 24 4
gpt4 key购买 nike

我试图将一个变量值(在我的例子中是一个简单的整数)从一个 UIViewController(“MainVC”)传递到另一个(“ChargeVC”)。

我在让它发挥作用时遇到了困难,经过一天的阅读可用答案后,我现在创建了一个帐户,这样我就可以进行更改以获得适合我的答案。我发现“This ”非常有帮助,并认为它应该有效,但它不适合我。

我显然对“xcode”和“Objective-C”很陌生,但我有扎实的“PHP”和“Javascript”知识。

这是我的代码:

MainVC.m

NSUInteger index = 4;  //will be an index ID used for accessing a table row

ChargeVC *myChargeViewCont = [[ChargeVC alloc] init];
myChargeViewCont.title = @"Charge User";
myChargeViewCont.personIndex = index;

NSLog(@"person index MainVC: %d", [myChargeViewCont personIndex]);

[self.navigationController pushViewController:myChargeViewCont animated:YES];

ChargeVC.h

@interface ChargeVC : UIViewController {
NSUInteger personIndex;
}
@property (nonatomic) NSUInteger personIndex;
@end

ChargeVC.m

#import "ChargeVC.h"
@implementation ChargeVC

@synthesize personIndex;

- (void)viewDidLoad {
[super viewDidLoad];

NSLog(@"person index ChargeVC: %d", personIndex);
}

作为检查,我尝试在“MainVC”中输出一次值,在“ChargeVC”中输出一次值。这是日志:

2014-05-11 12:17:51.242 Kunden[58238:60b] person index ChargeVC: 0
2014-05-11 12:17:51.244 Kunden[58238:60b] person index MainVC: 4

我在这里完全错过了什么吗?如有任何帮助,我们将不胜感激。

更新

我发现了错误并发布了一个答案来解释。如果你知道那里到底发生了什么,我很想知道。

最佳答案

您不需要像这样初始化它

    @interface ChargeVC : UIViewController {
NSUInteger personIndex;
}
@property (nonatomic) NSUInteger personIndex;
@end

只是做

 @interface ChargeVC : UIViewController
@property NSUInteger personIndex;
@end

足够了。您可以通过执行 self.personIndex 在 .m 中访问它们。另外,不要理会非原子的东西,除非你理解它或者正在将其用于生产。这些东西令人困惑,如果你正在学习,以后会更容易学习。 (我假设是业余爱好项目,如果这是错误的,我深表歉意)。

否则,您的代码对我来说似乎是正确的。

关于ios - 在 UIViewController 之间传递变量无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23591600/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com