gpt4 book ai didi

ios - 无法管理 NSMutableArray 中的单个元素

转载 作者:行者123 更新时间:2023-12-01 18:17:09 24 4
gpt4 key购买 nike

所以我将一个类对象插入到 NSMutable 数组中,然后我试图管理每个索引对象的特定属性。

这里我创建了 NsMutableArray:

    self.currentPuzzle = [[NSMutableArray alloc]init];

for(int i = 0; i < [temp length]; i++){ //temp is a string containing #'s and dots.

AnswerSpecifier *objectToGetIntoArray = [[AnswerSpecifier alloc]init];
objectToGetIntoArray.value = [[temp substringWithRange:NSMakeRange(i, 1)] intValue];

[self.currentPuzzle addObject:objectToGetIntoArray];
}

在这里我试图改变每个对象的 value 属性。 value 是一个 int 属性。
for (int i = 0; i < [self.board.boardString length]; i++) {
[self.currentPuzzle objectAtIndex:i].value = [[self.board.boardString substringWithRange:NSMakeRange(i, 1)] intValue];

}

但是,我收到一条错误消息,指出在 id 类型的对象上找不到属性值。我应该创建一个新数组并将其分配给旧数组吗?有一个更好的方法吗?

最佳答案

拆分你的代码。这使得阅读和调试更容易。

for (int i = 0; i < [self.board.boardString length]; i++) {
AnswerSpecifier *answer = self.currentPuzzle[i];
NSString *boardString = [self.board.boardString substringWithRange:NSMakeRange(i, 1)];
int value = [boardString intValue];
answer.value = value;
}

您不会因为将尽可能多的代码塞进一行而获得积分。

但是,如果您真的只想修复一行,则需要将类型转换放在正确的位置:
[(AnswerSpecifier *)self.currentPuzzle[i] setValue:[[self.board.boardString substringWithRange:NSMakeRange(i, 1)] intValue]];

关于ios - 无法管理 NSMutableArray 中的单个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20672514/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com