0

所以我有一个基本数组:

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]]; 

任何帮助都感激不尽。谢谢

4

1 回答 1

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];
于 2013-06-09T19:42:16.247 回答