2016-07-04 15 views
0

から検索質問は、この1のようになります。Setting searchBar.text in view did loadプリロード文字列&セグエ

私はV1が問題なくV2に渡すから、私のキーワードを持っています。私は検索バーのテキストとしてこれを設定しようとしています&前のsegueからの検索。

文字列はsearchTextと呼ばれます。

私はV2のviewWillAppear &のviewDidLoadで

self.searchBar.text = self.searchText; 

を試してみたが、何も私の検索バーに現れていません。

検索バーに私のsearchTextを取得し、V1からV2へのセグ後にテーブルをフィルタリングするにはどうすればよいですか?

答えて

1

検索バーのテキストとして設定する前に、文字列が空ではないことを確認してください。

次のコードは私にとって完璧に機能します。

@interface ViewController(){ 
    NSString *searchText; 
} 

@property (weak, nonatomic) IBOutlet UISearchBar *searchBar; 

@end 

@implementation ViewController 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    searchText = @"I love ice cream!"; 
} 

-(void)viewWillAppear:(BOOL)animated{ 
    [super viewWillAppear:animated]; 
    self.searchBar.text = searchText; 
} 

これは、文字列が空であるかどうかをチェックすることができますどのようにする方法です。

self.searchBar.text = (searchText == nil || searchText == (id)[NSNull null] || searchText.length == 0) ? @"To bad, an empty string" : searchText; 
+0

ない空が、 'self.searchBar.text = searchText'はどんな反応を持っていないようです。 – user3306356

+0

テキストを設定した後にブレークポイントを試しましたか?コンソール(po self.searchText)または変数ビューで "searchText"の値を調べることはできません。 – RM335

+0

ええ、私はコンソールで私の値を参照してください。 viewWillAppearでは、私は 'NSLog(@"%@ "、self.searchText);'の直前 'self.searchBar.text = self.searchText;' – user3306356

関連する問題