gpt4 book ai didi

iphone - 访问一对一关系对象时崩溃 coredata/stackmob

转载 作者:行者123 更新时间:2023-11-29 13:09:13 25 4
gpt4 key购买 nike

我有 2 个表 Assets 和 Rewards 是相关的 Assets <---->奖励,关系名称为assetrewards,当我同样尝试访问奖励表字段时

NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Assets"]; 
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"assetsId == %@",str];
[request setPredicate:predicate];
[self.managedObjectContext executeFetchRequest:request onSuccess:^(NSArray *assetsArr) {
for (Assets *assets in assetsArr) {
NSLog(@"assets %@",[assets valueForKey:@"assetrewards.rewardsId"]);
}
} onFailure:^(NSError *error) {

NSLog(@"Error fetching: %@", error);

}];

然后我收到一份崩溃报告说

:  Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<Assets 0x9fb9380> valueForUndefinedKey:]: the entity Assets is not key value coding-compliant for the key "assetrewards.rewardsId".'

但是当我明智地检查时

NSLog(@"assets %@",[assets valueForKey:@"assetrewards"]);

我得到这样的输出:

assets <Rewards: 0xad8a4f0> (entity: Rewards; id: 0x9fe4bf0 <x-coredata://B2D33481-2AF2-4C6D-9428-33BDCF653881-15578-00004A2B32ACC29E/Rewards/pc05848de529d4cbab6eb4475a5f9f591> ; data: <fault>)

我想访问具有关系/或特定 Assets 的奖励字段的所有值,因为有奖励相关我想获得奖励的详细信息

最佳答案

您不能在像 assetrewards.rewardsId 这样的多步骤 key 路径上使用 valueForKey:。您必须使用 valueForKeyPath:。正如所写,代码正在寻找一个名为 assetrewards.rewardsId 的键,不是一个名为 assetrewards 的键,该键导致一个对象的键名为rewardsId.

关于iphone - 访问一对一关系对象时崩溃 coredata/stackmob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17789818/

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