如何从ios中的数组中将字符串分成两部分?

时间:2014-03-07 13:28:20

标签: ios objective-c nsstring nsarray

阵列是图像,我需要添加声音数组,这样我就可以在按钮中显示它,当点击按钮时,它会显示图像并播放声音。
我使用componentsJoinedByString方法使用此符号($)格式化数组。 我使用stringByAppendingSting方法将它们添加到一起,所以我想我需要格式化字符串,以便我可以再次将它们分解。

NSArray  *rankNum = [PlayingCard rankNumbers];
[rankNum componentsJoinedByString:@"$"];
NSArray  *rankCol = [PlayingCard rankColors];
NSArray  *rankAni = [PlayingCard rankAnimals];

switch (self.chosenButton) {
    case 0:
        return [rankNum[self.rank] stringByAppendingString:self.sound];
        break;
    case 1:
        return rankCol[self.rank];
        break;
    case 2:
        return rankAni[self.rank];
        break;
    default:
        // It should not get here
        return nil;
        break;

这是声音阵列:

   + (NSArray *) rankNumSound
{
    NSArray *getNumSound = [[[SoundModel alloc] init]getSoundNumbers];
    return getNumSound;
}

1 个答案:

答案 0 :(得分:1)

我认为你正在寻找这个

NSMutableArray *arrayResult = [NSMutableArray array];
//you should to fill your arrays with your sounds and images
NSMutableArray *arrayImages = [NSMutableArray array];
NSMutableArray *arraySound = [NSMutableArray array];

for (int i = 0; i < [arrayImages count]-1; i++) {

    [arrayResult addObject:[NSString stringWithFormat:@"%@$%@", [arrayImages objectAtIndex:i], [arraySound objectAtIndex:i]]];

}

NSMutableArray *newArrayimages = [NSMutableArray array];
NSMutableArray *newArraySound = [NSMutableArray array];

for (int i = 0; i < [arrayResult count]; i++) {

    NSArray *arrayResultString = [NSMutableArray array];

    arrayResultString = [[arrayResult objectAtIndex:i]componentsSeparatedByString:@"$"];

    [newArrayimages addObject:[arrayResultString objectAtIndex:0]];
    [newArraySound addObject:[arrayResultString objectAtIndex:1]];

}