Frage

In meinem tableViewController mit einer Suchleiste verwende ich die folgende Methode:

-(void) searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText 
{
   ...my code
}

und es funktioniert gut, wenn ich Text direkt in die Suchleiste eingebe.

Das Problem, das ich jetzt habe, ist, dass ich diese Methode programmgesteuert aufrufen möchte – das heißt, ich möchte die Suchleiste aus meinem Code ausfüllen, von dem ich weiß, wie man das macht (eigentlich wähle ich ein kürzlich gesuchtes Wort in meiner Sprachwörterbuchanwendung aus) und Rufen Sie etwas an wie:

 [SearchBar textDidChange: recentlySearchedWord]

aber das funktioniert einfach nirgendwo in meinem Code.

Bitte helfen Sie mir, wenn Sie eine Idee haben, wie ich das Problem lösen kann.

Danke,

Tim

War es hilfreich?

Lösung

Wenn Sie die Delegate-Methode von UISearchBar implementieren - (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText in Ihrem View Controller (oder einer beliebigen Klasse) und Sie möchten diese Methode innerhalb derselben Klasse aufrufen, was Sie tun möchten. Ich gehe davon aus, dass Sie sie aufrufen müssten

[self searchBar:SearchBar textDidChange:recentlySearchedWord];

mit Suchleiste Dabei handelt es sich um die Instanz der UISearchBar, auf die Sie verweisen.

Andere Tipps

textdidchange ist keine Klassenmethode.Statt anzurufen:

generasacodicetagpre.

anrufen

generasacodicetagpre.

oder wenn sich textdidchange in einer anderen Klasse befindet, verwenden Sie die Klasseninstanz von sich selbst.

Sie können auch versuchen, diesen Code zu verwenden, wenn er etwas einfacher macht.

generasacodicetagpre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top