2010-12-31 8 views
1

プッシュされる直前に2つのNSString変数をView Controllerに送信する際に問題が発生しています。プッシュされる前にViewControllerにNSString変数を送信する際の問題

- (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作品を経由して、変数をプリントアウトすること:ここ

は、コントローラをプッシュするためのいくつかのreleventコードです。

また、c.titleの割り当ては、プッシュされたコントローラのタイトルテキストを見ることができるので、うまく動作しているようです。 @property (nonatomic, retain) NSString *subreddit;

なぜできない:

- (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がプロパティとして設定している:私が割り当てられている対応する変数を印刷するとき、私は(null)を見つけていますのはここ

は(だけでなく、ここでは、どこでも)であります私はこれらの値を正しく割り当てるように私はそれらをプッシュビューコントローラで使用することができますか?

これらの値を割り当てることで、プッシュビューコントローラでこれらの値を使用できますか?

答えて

4

変数が設定される前にviewDidLoadが呼び出されたようです(私はnibファイルを使用しないので、確かに言うことはできません...)。このことができます

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

希望:あなたはこのように、これらの変数を受け取りinit方法を作ることができます!

+0

から団結するときviewDidLodが呼ばれ、あなたの人口の変数が表示されるはずです....私は、まったく同じ方法で、いくつかのアプリを構築し、何の問題もなかったしています。..私はなぜこれがこのプロジェクトで起こっているのか分かりません。 – binnyb

0

上書きviewWillAppear、あなたは、これが働いていたどのように奇妙なペン先

関連する問題