如何存储字符串和相应的标签?

时间:2013-11-15 09:29:38

标签: ios objective-c arrays

我有一系列特定于年龄组和性别的活动(这里没有尝试过agist或性别歧视,只有一些团体更有可能参与这些活动,所以我试图建议他们使用标签)< / p>

我基本上需要一个存储此信息的数组。

我想要一个基本上看起来像这样的多维数组:

["Playing Video Games", 10, 24, "male"],
["Putting on Makeup", 14, 50, "female"], 
["Sleeping", 0, 100, "both"]

["Activity name string", age lower limit, age upper limit, "genders allowed"];

如何在iOS中创建?

我将把它存储在userDefaults中。

2 个答案:

答案 0 :(得分:3)

Objective-C是一种面向对象的编程语言。因此,您需要创建一个名为“Person”的自定义类,然后添加所需的properties

例如,您需要的自定义类的.h文件类似于:

@interface Person : NSObject

@property (nonatomic, assign) NSString *activity;
@property (nonatomic, assign) NSString *sex;
@property int ageLowerLimit;
@property int ageUpperLimit;

@end

然后你可以先管理这些对象,

在代码中导入此自定义类:

#import "Person.h"

然后创建一个新的Person类型对象:

Person *firstPerson = [[Person alloc] init];
[firstPerson setActivity : @"Sleeping"];
[firstPerson setSex : @"Male"];
[firstPerson setAgeLowerLimit : 0];
[firstPerson setAgeUpperLimit : 100];

要存储它们,您可以使用CoreData或只使用旧的NSUserDefaults

以下是如何进行NSUserDefaults方法:

首先在Person中存储各种NSMutableArray个对象,然后同步默认值:

NSMutableArray *people = [[NSMutableArray alloc] init];
[people addObject : firstPerson];

NSUserDefaults *defaults = [NSUserDefaults standardDefaults];
[defaults setObject:people forKey:@"PEOPLE"];

[defaults synchronise];

要稍后使用这些对象,请执行以下操作:

NSUserDefaults *defaults = [NSUserDefaults standardDefaults];
NSMutableArray *savedPeople = [defaults objectForKey:@"PEOPLE"];
Person *person1 = [savedPeople objectAtIndex:0];

答案 1 :(得分:0)

罗伯特是对的,你应该使用CoreData。 有一个很好的[核心数据教程] [1]解释了基础知识。

使用UserDefaults时,您可以将数据存储在数组中

 [[NSUserDefaults standardUserDefaults] setObject:myArray forKey:@"myArray"];