ios为数组中的字符串赋值

时间:2013-06-09 19:35:54

标签: ios nsstring nsarray

所以我有一个基本数组:

NSMutableArray *answerButtonsArrayWithURL = [NSMutableArray arrayWithObjects:self.playView.coverURL1, self.playView.coverURL2, self.playView.coverURL3, self.playView.coverURL4, nil];

里面的对象是字符串。我想从该数组中访问一个随机对象

int rndValueForURLS = arc4random() % 3;

并为其指定一个值。我尝试了不同的方法,但我最近的方法是

[[answerButtonsArrayWithURL objectAtIndex:rndValueForURLS] stringByAppendingString:[self.coverFromRightAnswer objectAtIndex:self.rndValueForQuestions]]; 

任何帮助将不胜感激。感谢

1 个答案:

答案 0 :(得分:1)

你需要分配它。您已经在构建新值:

NSString *oldValue = answerButtonsArrayWithURL[rndValueForURLS];
NSString *newValue = [oldValue stringByAppendingString:[self.coverFromRightAnswer objectAtIndex:self.rndValueForQuestions]];

你缺少的部分:

answerButtonsArrayWithURL[rndValueForURLS] = newValue;

以上是将不可变字符串替换为另一个字符串的方法。如果字符串 mutable ,即它们被创建为NSMutableString,您可以这样做:

NSMutableString *value = answerButtonsArrayWithURL[rndValueForURLS];
[value appendString:[self.coverFromRightAnswer objectAtIndex:self.rndValueForQuestions]];

注意

我到处都替换了符号:

[answerButtonsArrayWithURL objectAtIndex:rndValueForURLS];

新的等价物和IMO更具可读性:

answerButtonsArrayWithURL[rndValueForURLS];