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);
}

但我得到的只是一次一串。怎么了?我想在可变数组中添加一个新字符串,我应该怎么做?

4

1 回答 1

1

每次调用该函数时,您都会创建一个新列表。您应该将 bookmarkl 作为属性添加到您的类中,并且只在初始化期间创建一次。如果您希望在关闭应用程序时保留历史记录,您还需要将数据写入文件。您可以使用 [NSMutableArray arrayWithContentsOfFile] 加载历史记录并使用 writeToFile 保存它。

于 2011-10-09T20:42:50.927 回答