将项目添加到NSArray

时间:2014-04-05 14:37:16

标签: ios objective-c

我有以下代码将数据添加到数组中,但是当我显示数组时它只显示数组中的一个项目。难道我做错了什么?

基本上我有一个文本字段和一个按钮,当用户在字段中键入名称时,它应该被添加到数组中,但正如我上面所说的那样,当我运行nslog时只看到一个名字。

NSMutableArray *players = [NSMutableArray arrayWithObjects: nil];

[players addObject: self.playersnametext.text];
    NSLog(@"%@", players);
}

3 个答案:

答案 0 :(得分:0)

你的问题不是很清楚。假设您的文本字段中有CR或逗号分隔的名称,例如: "name1, name2, name3"

将此字符串“拆分”为数组的简单方法是使用:

 NSArray *players = [self.playersnametext.text componentsSeparatedByString:@", "];

希望有所帮助。有关详细信息,请参阅Apple documentation

答案 1 :(得分:0)

如果您添加"玩家"像这样:

NSMutableArray *players = [NSMutableArray arrayWithObjects: nil];

[players addObject:@"player1"];
[players addObject:@"player2"];
[players addObject:@"player3"];
NSLog(@"%@", players);
你可以这样得到它们:

[players objectAtIndex:0]; //player1
[players objectAtIndex:1]; //player2
[players objectAtIndex:2]; //player3

答案 2 :(得分:0)

    //Store names (multiple for each player)
    NSMutableArray *playerNames = [NSMutableArray arrayWithObjects:
                                   @[@"P1Name1",@"P1Name2",@"P1Name3",@"P1Name4"],
                                   @[@"P2Name1",@"P2Name2",@"P2Name3",@"P2Name4"],
                                   @[@"P3Name1",@"P3Name2",@"P3Name3",@"P3Name4"],nil];

    //Fetch Names
    [[playerNames objectAtIndex:0] objectAtIndex:0];
    [[playerNames objectAtIndex:1] objectAtIndex:0];
    [[playerNames objectAtIndex:2] objectAtIndex:0];

这是你要找的东西吗?为每个播放器存储多个名称,并根据索引(可以根据逻辑递增)提取它。