所以我有一个基本数组:
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]];
任何帮助将不胜感激。感谢
答案 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];