6

エラーが発生し続けます:

NSInvalidArgumentException'、理由:'-[UIViewController setPhotoCellName:]:認識されないセレクターがインスタンスに送信されました

セグエコールの準備に入るとき。現在私は持っています

TabBarController-> NavigationController-> TableViewController-> TableViewController-> ViewController

UI画像が表示されます。

この問題は、2番目のTableViewコントローラーからViewControllerにセグエしようとすると発生します。プロトタイプセルから実際のViewControllerへのセグエ設定があります。セグエに入って墜落。NSArrayプロパティをに渡して、viewControllerその中でURLを使用し、を表示できるようにしようとしていますUIImage。PhotoInPlaceには、Imが渡そうとしている配列が含まれています。これがコードです。

myTableViewControllerPhotoLocation.mコード

#import "myTableViewControllerPhotoLocation.h"
#import "FlickrImageViewController.h"

@interface myTableViewControllerPhotoLocation ()
@end

@implementation myTableViewControllerPhotoLocation
@synthesize photoInPlace = _photoInPlace; //Contains NSArray to pass


-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    if([segue.identifier isEqualToString:@"Photo Display"]){
        NSIndexPath* indexPath = [self.tableView indexPathForCell:sender];
        NSLog(@" Dicitonary = %@", [self.photoInPlace objectAtIndex:indexPath.row]); //Returns the picked cell
        NSLog(@"%@", [self.photoInPlace class]); //returns NSArray
        NSLog(@"%@", [self photoInPlace]); //Returns the array

        [segue.destinationViewController setPhotoCellName:[self.photoInPlace objectAtIndex:indexPath.row]]; 
        //Crashes HERE!
    }
}

FlickrImageViewController.hコード

@property (nonatomic, strong) NSArray* photoCellName;

FlickrImageViewController.mコード

#import "FlickrImageViewController.h"

@interface FlickrImageViewController ()
@end

@implementation FlickrImageViewController
@synthesize photoCellName = _photoCellName; //property declared in header


-(void) setPhotoCellName:(NSArray *)photoCellName{
    if(!_photoCellName)
        _photoCellName = [[NSArray alloc] initWithArray:photoCellName];
    else {
        _photoCellName = photoCellName;
    }
}
4

2 に答える 2

18

あなたの目的地は からのオブジェクトであると信じていますFlickrImageViewControllerが、アプリはそうではありません。ストーリーボードでそのコントローラーを割り当てたクラスを見てください。エラーによると、それは裸UIViewControllerです。

于 2012-08-03T21:37:38.243 に答える
5

FlickrImageViewController ではなく、プレーンなバニラ UIViewController を誤って取得したようです。コントローラーのクラスを割り当てるのを忘れたのではないでしょうか?

于 2012-08-03T21:37:28.683 に答える