2つのViewController間でデータを渡すことについて、SOに関するいくつかの質問を読み、それを行うために提案されたさまざまな方法を見てきました。私の問題は次のとおりです。
ツールバーに検索バーがあるViewController(これを「A」と呼びます)があります。他には何もありません。次に、ユーザーが検索バーで検索するときにキーボードの検索ボタンを押したときにポップオーバービューを表示する別のビューコントローラー(「B」)があります。これはすべて機能します。ユーザーがテキストを入力し、検索ボタンを押すと、ポップオーバーが表示されます。素晴らしい。
NSMutableArray
今、私はまだポップオーバーテーブルビューに検索結果を表示しておらず、引数としてBの関数にaを渡そうとし ています。
Bhで:
@property (nonatomic, retain) NSMutableArray *searchResults;
Bmで:
@synthesize searchResults;
-(void)setSearchResults:(NSMutableArray *)resultArray{
[self.searchResults removeAllObjects];
[self.searchResults addObjectsFromArray:resultArray];
}
ああ:
#import "B.h"
@property(nonatomic, retain) B *viewControllerObjectB;
午前中:
@synthesize viewControllerObjectB;
//The searchResultsArray is passed on from another function
-(void)communicateWithB:(NSMutableArray *)searchResultsArray{
//I initialize the viewControllerObjectB in here
NSMutableArray *temp = [[NSMutableArray alloc] initWithArray:searchResultsArray];
[viewControllerObjectB setSearchResults:temp];
}
これで、Bm I'ts empty(nil)の関数に渡されたtempのコンテンツを取得しないことを除いて、これはすべて機能します。これが私の問題です。
私はiOSにかなり慣れていないので、すべての助けをいただければ幸いです。
編集:私がARCを使用していることを言及するのを忘れました。