gpt4 book ai didi

ios - 设置值 :forUndefinedKey this class is not key value coding-compliant

转载 作者:可可西里 更新时间:2023-11-01 04:06:02 24 4
gpt4 key购买 nike

我有一个如下所示的 nsmutablearray:

(
{
caption = "";
urlRep = "assets-library://asset/asset.JPG?id=6FC0C2DC-69BB-4FAD-9709-63E03182BEE1&ext=JPG";
},
{
caption = "";
urlRep = "assets-library://asset/asset.JPG?id=324E4377-0BCD-431C-8A57-535BC0FC44EB&ext=JPG";
}
)

我正在尝试像这样设置标题的值:

[[[self.form valueForKey:@"photos"] objectAtIndex:indexPath.row] setValue:@"hi" forKey:@"caption"];

([self.form valueForKey:@"photos"]为数组)

但我得到:

*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<__NSDictionaryI 0xa68ec40> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key caption.'

编辑:

如果我使用 setObject forKey,我会得到:

-[__NSDictionaryI setObject:forKey:]: unrecognized selector sent to instance 0xa6a88f0
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSDictionaryI setObject:forKey:]: unrecognized selector sent to instance 0xa6a88f0'

我该如何解决这个问题?

解决此问题的正确代码:

NSMutableDictionary *m = [[[self.form valueForKey:@"photos"] objectAtIndex:indexPath.row ] mutableCopy];
NSMutableArray *array = [self.form valueForKey:@"photos"];
[m setObject:textField.text forKey:@"caption"];
[array replaceObjectAtIndex:indexPath.row withObject:m];

最佳答案

你得到异常的原因是因为你有一个 NSDictionary 对象数组,它不响应 setObject:forKey: (或 setValue :forKey:).

您可能希望在收到它们后立即将它们全部转换为 NSMutableDictionary 对象。

关于ios - 设置值 :forUndefinedKey this class is not key value coding-compliant,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20075977/

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