Ios 在数组(?)中存储多个名称和数字,需要时检索和编辑
我对objective-c非常陌生,我试着四处寻找可能的答案,但我几乎没有运气 我想做的是存储多个名称和数字,并在需要时检索它们。它基本上是用来存储分数的 我尝试使用NSDictionary,其中包含键和对象,其中键是名称,对象是分数。但是,我不确定如何检索该数字并在其上添加内容,因为我收到了不兼容的指针警告,并且应用程序中断Ios 在数组(?)中存储多个名称和数字,需要时检索和编辑,ios,objective-c,arrays,Ios,Objective C,Arrays,我对objective-c非常陌生,我试着四处寻找可能的答案,但我几乎没有运气 我想做的是存储多个名称和数字,并在需要时检索它们。它基本上是用来存储分数的 我尝试使用NSDictionary,其中包含键和对象,其中键是名称,对象是分数。但是,我不确定如何检索该数字并在其上添加内容,因为我收到了不兼容的指针警告,并且应用程序中断 是否有更好的方法来存储用户详细信息和分数,并在需要时检索和更新它们?创建可变字典的可变数组或自定义UserInfo对象的可变数组 像这样简单的方法会奏效: @interf
是否有更好的方法来存储用户详细信息和分数,并在需要时检索和更新它们?创建可变字典的可变数组或自定义UserInfo对象的可变数组 像这样简单的方法会奏效:
@interface Userinfo: NSObject
@property (nonatomic, strong) NSString *name
@property (nonatomic, assign) int score
@end
NSDictionary
似乎是一个不错的开始,因为它比数组搜索效率更高。也许你被NSNumber!=int
。(NSNumbers是对象,不是原语。)检查并查看是否有帮助
一个简单的例子,假设dict
实际上是一个NSMutableDictionary
,
设置新值时,请注意@
:
int currentPoints = [[dict objectForKey:@"name"] intValue];
int newPoints = currentPoints + 5;
[dict setObject:@(newPoints) forKey:@"name"];
您可以像这样存储数据
NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];
[dictionary setObject:@"player1" forKey:@"user_name"];
[dictionary setObject:@"10" forKey:@"user_score"];
[userList addObject:dictionary];
您可以按如下所述检索:
NSDictionary *dictionary = [[NSDictionary alloc] initWithDictionary:[userList objectAtIndex:0]];
lblName.text = [dictionary valueForKey:@"user_name"];
lblScore.text = [dictionary valueForKey:@"user_score"];
我认为这对您很有用。您不能创建一个具有2个属性(user和score)的类UserScore并创建一个UserScore数组吗谢谢。设置新值时,我缺少@,这是在代码中创建断点。