gpt4 book ai didi

iphone - 在推送 NSString 变量之前将其发送到 ViewController 时出现问题

转载 作者:行者123 更新时间:2023-12-03 16:55:45 25 4
gpt4 key购买 nike

我在将 2 个 NSString 变量推送到 View Controller 之前遇到问题。

这里是一些用于推送 Controller 的相关代码:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
CommentsViewController *c = [[CommentsViewController alloc] initWithNibName:@"CommentsView" bundle:nil];
c.subreddit = subreddit;
c.redditId = [[[list objectAtIndex:indexPath.row] objectForKey:@"data"] objectForKey:@"id"];
c.title = [[[list objectAtIndex:indexPath.row] objectForKey:@"data"] objectForKey:@"title"];
[self.navigationController pushViewController:c animated:YES];
[c release];

NSLog(@"subreddit: %@", subreddit);
NSLog(@"redditId: %@", [[[list objectAtIndex:indexPath.row] objectForKey:@"data"] objectForKey:@"id"]);
}

请注意,通过 NSLog 打印变量可以按预期工作。

此外,c.title 分配似乎工作正常,因为我可以在推送的 Controller 上看到标题文本。

这里(不仅仅是这里,任何地方)是我在打印我分配的相应变量时找到(null)的地方:

- (void)viewDidLoad {
[super viewDidLoad];

NSLog(@"subreddit: %@", subreddit);
NSLog(@"redditId: %@", redditId);
}

2010-12-30 20:06:17.108 RedditReader[1073:307] subreddit: (null)
2010-12-30 20:06:17.131 RedditReader[1073:307] redditId: (null)

subreddit 的属性设置为:@property(nonatomic,retain)NSString *subreddit;

为什么我似乎无法正确分配这些值,以便我可以在推送的 View Controller 中使用它们?

我如何分配这些值,以便我可以在推送的 View Controller 中使用它们?

最佳答案

看起来你的 viewDidLoad 在设置变量之前被调用(我不使用 nib 文件,所以我不能肯定地说......)。您可以创建一个接收这些变量的 init 方法,如下所示:

- (id)initWithTitle:(NSString *)aTitle reddit:(NSString *)aReddit ... {
self.title = aTitle;
// ...
if (self = [super initWithNibName:@"CommentsView" bundle:nil]) {
// ...
}
return self;
}

希望这有帮助!

关于iphone - 在推送 NSString 变量之前将其发送到 ViewController 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4567439/

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