0

!!!はい、初心者の質問ですが、はい。

そこで、テーブル ビューを含むナビゲーション コントローラーを file1 に作成しました。そのテーブル ビューのセルは、異なるクラスと xib (file2) を持つカスタム セルです。file2 xib には、クリックするとビューがナビゲーション コントローラーにプッシュされるボタンがあります。

file1で作成したナビゲーションコントローラをfile2から参照する方法がわかりません。

編集: AppDelegate でナビゲーション コントローラーを設定し、共有デリゲートを作成することでこれを修正しましたが、ファイル 1 でナビゲーション コントローラーを設定するとどうなるでしょうか?

4

1 に答える 1

0

この場合、私はdelegatein file2を好むでしょう。

.h ファイルは次のようになります。

#import <Foundation/Foundation.h>

@protocol CustomCellDelegate <NSObject>
- (void)buttonClicked;
@end

@interface CustomCell : UITableViewCell

@property (nonatomic, weak) id<CustomCellDelegate> delegate;

- (void)getImageWithCompletionHandler:(handler)completionBlock;

@end

そして、 file1CustomCellにオブジェクトを作成するときに、 asを設定する必要があります。delegateself

CustomCell *customCell = …
….
customCell.delegate = self;

CustomCellDelegatein file1を実装する

- (void)buttonClicked
{ 
  // TODO: push using navigation controller code.
}

上記は委任パターンです。詳細については、こちらdelegatesのチュートリアルをご覧ください

MVC (モデル ビュー コントローラー)によると、パターンビューの仕事はデータを表示することだけであり、コントローラーの仕事は他のコントローラーをプッシュまたは提示することです。

お役に立てれば!

于 2013-07-11T12:40:09.930 に答える