-1

tableViewの情報を保持するクラスを取得しました

    @interface Tricks : NSObject

   @property(strong, nonatomic) UIImageView *trickPhoto;
   @property(strong, nonatomic) NSString *trickName;
   @property(nonatomic) BOOL landed;

   +(NSMutableArray *)trickList;

@終わり

このクラスでは、保存を押すと、テーブルビューにセルが作成されます

-(IBAction)saveAction:(id)sender

    Tricks *trick = [[Tricks alloc]init];
        trick.trickName = self.trickLabel.text;
        trick.trickPhoto.image = self.trickPhotoTake.image;
        [[Tricks trickList]addObject:trick];

そして、tableViewCell からプッシュされた detailViewController にトリックの名前と写真を表示したいのですが、名前しか表示されません。私が知っているブレークポイントを使用すると、trickPhoto という UIImage プロパティに値がありますが、画像は表示されません。提案をありがとう

4

2 に答える 2

0

detailViewController では、次のように他の viewController から extern プロパティを呼び出すことができます。

  extern UIImageView *trickPhoto;

インポートの後に以下のコードを配置します。

      @interface detailViewController () 
于 2013-10-26T18:56:29.780 に答える
0

ストーリーボードを使用している場合は、次を使用する必要があります。

 - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

any プロパティは、それが作成されたクラスにのみ存在します。ViewControllr にいて、DetailViewController の UIImageView プロパティを @"image.png" という名前の画像で設定している場合、DetailViewController のそのプロパティは ViewController にのみ存在します。

試す:

 - (void)prepareForSegue:(UIStoryboardSegue    
 *)segue sender:(id)sender
if ([segue.destinationViewController        
 isKindOfClass:[DetailViewController class]]) {
    viewController = 
     segue.destinationViewController;
    if ([segue.identifier 
isEqualToString:@"____enterSegueIdentifier____"])
{
        detailViewController.trickPhoto.image = 
     [UIImage imageNamed:@"______"];
    }
}
 }
于 2013-10-26T18:45:24.420 に答える