0

我正在创建一个从 2 个单独的 NSArrays 生成婴儿名字的小应用程序。我有 1 个名字设置和 1 个中间名设置。当按下按钮时,它会随机连接 2 个 NSString,如下代码所示:

int a = arc4random() % 2;
int b = arc4random() % 2;


// populate the array for the names
NSArray *firstNameArray = [NSArray arrayWithObjects: @"Anna", 
@"Amy", 
@"Amber",  nil];
NSArray *middleNameArray = [NSArray arrayWithObjects: @"Brenda", @"Beatrix", nil];

// concatenate strings at index of array
NSString *fullName = [NSString stringWithFormat:@"%@ %@", [firstNameArray objectAtIndex:a], [middleNameArray objectAtIndex:b]];

// display the newly created first & middle names

babyname.text = fullName;

对于如何允许用户“收藏”特定名称并将其保存到新视图(可能是表格视图),我有点不知所措。谁能在这里指出我正确的方向?

4

2 回答 2

1

您可能想要做的是存储选定的名称,以便您以后可以参考它们。您可能希望创建一个 Person 类或类似的东西,并在其中有一个名为 favorite 的属性,它是一个 BOOL 值。然后,您只需将用户想要收藏的属性设置为 YES 即可。

存储自定义类并使其持久化的一个很好的机制是 Core Data,但它实际上取决于您将/可能拥有多少 Person 实例。一旦你掌握了核心数据,它就很容易实现,网上有很多关于如何使用它的教程。我会使用 UIDocument 和 UIManagedDocument 在 CoreData 上查看斯坦福大学的 iTunesU 视频。我发现它们很有帮助。

祝你好运。

于 2012-05-11T20:07:49.683 回答
1

您已经给出了一段代码,从中您的程序中的逻辑的确切流程是不可理解的,假设您有一个供用户输入的文本字段和一个将其标记为收藏的按钮,那么在按钮的操作中您可以获得来自文本字段的文本并将其存储在某个数组中。此外,您不会将数据存储在 tableview 中,而是将其显示在那里。然后,您可以使用收藏夹数组在 tableview 中显示名称。

您可以使用 NSUserDefaults、plist、sqlite、coredata 进行持久存储。NSUserDefaults 和 plist 只能有效地处理少量数据。

请在 持久存储上查看我的链接

TableView 教程

于 2012-05-11T20:02:03.983 回答