1

UINavigationController に埋め込まれた UITableViewController を提示する親 UIViewController があり、そこからいくつかの行 (私の場合は people name の行) を選択し、それらを mutableArray に追加して UIViewController に送り返す必要があります。

通常のプロトコルを試しました:

@class TableViewController
@protocol TableViewDelegate <NSObject>
-(void)sendFrom:(TableViewController *)controller theList:(NSMutableArray *)list;
@end
... 
@proprety (nonatomic, strong) id<TableViewDelegate> delegate;
...

次に、TableViewController.m で ... -(IBAction)dissmisController:(id)sender { [self.delegate sendFrom:self theList:_theListOfPersons]; [自己却下ViewControllerAnimated:YES完了:nil]; }

次にViewController.h

 #import "TableViewController.h"

次に、デリゲートを追加します

  <TableViewDelegate>

次に、プロトコルのメソッドを実装します

-(void)sendFrom:(TableViewController *)controller theList:(NSMutableArray *)list
{
     NSLog(@"the list of persons is %@", list);
}

アプリを実行する前の最後の作業は、デリゲートをセグエ [[segue destinationViewController] setDelegate:self]; に設定することです。

問題は、デリゲート メソッドが呼び出されないことです。また、TableViewController.m viewDidLoad をチェックインすると、次のようなデリゲート

NSLog(@"%@", self.delegate);

答えは: (ヌル)

誰でもこれを説明できますか?

4

0 に答える 0