0

アプリで履歴リストを作成したいと思います。ここで多くの質問をネットサーフィンして調べましたが、これまでのところ、私の質問に対する答えは見つかりませんでした.

私のコード:

-(void)searchBarTextDidEndEditing:(UISearchBar *)searchBar
{
    NSLog (@"search bar text did end editing!");
    NSString *bookmarked = mySearchBar.text;    
    NSMutableArray *bookmarkl = [[NSMutableArray alloc] init];
    int i;
    for (i = 0; i < [bookmarkl count]; i ++)
    {
        [bookmarkl addObject:bookmarked];
    }
    for (NSString *sa in bookmarkl);
    NSLog (@"whole array: %@", bookmarkl);
}

しかし、一度に 1 つの文字列しか取得できません。なにが問題ですか?可変配列に新しい文字列を追加したいのですが、どうすればよいですか?

4

1 に答える 1

1

関数が呼び出されるたびに新しいリストを作成しています。ブックマークをプロパティとしてクラスに追加し、初期化中に一度だけ作成する必要があります。アプリを閉じたときに履歴を保持したい場合は、データをファイルに書き込むこともできます。[NSMutableArray arrayWithContentsOfFile] を使用して履歴をロードし、writeToFile を使用して保存できます。

于 2011-10-09T20:42:50.927 に答える