2011-07-30 10 views
0

私はplistから画像ファイルへの参照を読み込み、画像を詳細ビューで表示しようとしています。私はテーブルビューのレイアウトでこれを行うことができますが、DetailViewController nibファイルでこれを行うのに問題があります。私は誰かが私が問題を解決するのを助け、私が間違っているところを私に説明することを望んでいる。コードに続くのは、自分が何をしているかについての私の説明です。私が何をしているべきかを私が見せてくれるくらい間違っていることを私に説明することができれば、本当に感謝しています。私は物事を働かせようと努力することを学ぶことを試みています。plist構文の問題からイメージ名を読み込みますか?

問題は2か所にあると思います。最初は私のdidSelectRowAtIndexPath方法です://THIS IS WHERE I THINK THE PROBLEM ISマーク上記のコードで

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    //Get the dictionary of the selected data source. 
    NSDictionary *dictionary = [[[self.localSites objectAtIndex:indexPath.section]objectForKey:@"rowData"] objectAtIndex:indexPath.row]; 

    TableDetailViewController *controller = [[TableDetailViewController alloc] initWithNibName:@"TableDetailViewController" bundle:[NSBundle mainBundle]]; 

    controller.title = [dictionary objectForKey:@"Location"]; 
    controller.dText = [dictionary objectForKey:@"details"]; 

    // THIS IS WHERE THE PROBLEM IS 
    NSString *tiny = [dictionary objectForKey:@"thumb"]; 
    controller.mainImage = [UIImage imageNamed:tiny]; 

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

    [controller release]; 
} 

、私は何をしようとしていることはplistの中に文字列に含まれる画像への参照を取得し、画像を取得するための基準を使用しています。このアプローチは、私のcellForRowAtIndexPathメソッドでうまく動作し、テーブルの左側に私のplistから参照されるサムネイル画像を設定します。上記のコードで

は、私は以下のように私のTableDetailViewController.mファイルを介して私のTableDetailViewController.xibUIImageViewコンセントに接続しようとした文字列を指します。

- (void)viewWillAppear:(BOOL)animated 
{ 
    [super viewDidLoad]; 

    //This Bit says that the text contained in UITextView blurb is the string dText, which is used in my didSelectRowAtIndex method 
    blurb.text = dText; 

    //This is where I try to do the same thing by saying that UIImageView topImage is the NSString mainImage which I use in my didSelectRowAtIndex method 
    topImage.image = mainImage;  
} 

私のロジックがtopImageはUIImageViewで、mainImageは私didSelectRowAtIndex方法で、私は「親指」は含まれているキーの値を渡すイメージ図を含む文字列であるということでした。私は問題番号2があると思うところです私のplistファイルで。

ただし、上記は警告をスローします。誰も助けることができますか?

読んでいただきありがとうございます。

+0

あなたはそれをどのように解決するかをもっと説明したいと思いますか?あなたのコードのいくつかの例を投稿しますか? – Albert

+0

Albert、コードは上記と同じです。ヘッダーファイルTableDetailViewController.h NSString * mainImageを書くのではなく、私はUIIMage * mainImageを記述します。私が以下に述べる理由のために、それは簡単な変更です。上記の残りのコードは正しいです。 –

答えて

0

私はこれをうまく処理しました。私の間違いは、UIImageとしてではなく、NSStringとしてポインターのmainImageを宣言することでした。 .plistでは文字列内にイメージの名前を使用しているので、私はこれを行いました。私は私のdidSelectRowAtIndexPathメソッドで同じ名前の.pngファイルのこの文字列を変更すると、mainImageに渡すときに、もはや渡している文字列ではなく、画像であることに気付きました。ソート済み!私のようなnewbの簡単な間違い。この間違いを犯すのは唯一の人ではないと確信しているので、私は投稿するべきだと思った。

関連する問題