gpt4 book ai didi

ios - 使用 NSArray 从 iOS 上的可转换核心数据创建对象

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

我正在使用核心数据来检索可传输对象,然后将其保存为 NSArray,如下所示:

NSArray *bigDataResultsArray = [XAppDelegate.managedObjectContext executeFetchRequest:bigDataFetchRequest error:&error];
NSArray *bigDataResultsArrayJSON = [bigDataResultsArray valueForKey:@"bigData"];

我能够将 valueForKey 缩小为较小的对象数组,但它仅显示为 1 个对象。

当我尝试从以下内容中提取“值”时,我收到错误消息,它不符合值。数据格式如下,不会解析为 JSON:

我尝试使用以下方法提取值(value):

    NSArray *styleArray = [bigDataResultsArrayJSON valueForKey:@"Styles"];
NSLog(@"%@", [styleArray valueForKey:@"Value"]);

这会产生错误。但是,如果我记录样式数组,我会得到以下内容”

(
{
Total = 1;
Value = 5;
},
{
Total = 1;
Value = "5.5";
},
{
Total = 75;
Value = 6;
},
{
Total = 4;
Value = "6.5";
},
{
Total = 239;
Value = 7;
},
{
Total = 149;
Value = "7.5";
},
{
Total = 260;
Value = 8;
},
{
Total = 214;
Value = "8.5";
},
{
Total = 259;
Value = 9;
},
{
Total = 196;
Value = "9.5";
},
{
Total = 254;
Value = 10;
},
{
Total = 148;
Value = "10.5";
},
{
Total = 237;
Value = 11;
},
{
Total = 38;
Value = 12;
},
{
Total = 2;
Value = 13;
}
)
)

任何人都可以帮助我将此数据的最后一层提取到值对象数组中。我尝试先转换为 NSData,然后转换为 JSON,如下所示,但数据格式无法解析:

NSData *raw = [[ra valueForKey:@"bigData"] dataUsingEncoding:NSUTF8StringEncoding]

非常感谢任何帮助。

最佳答案

您可以从一组字典中提取仅包含一个字段的数组:

NSArray *dictArray = @[{@"total" : @1, @"value" : @5},
{@"Total" : @1, @"Value" : @5.5}, … ];
NSArray *resultsArray = [dictArray valueForKeyPath:@"value"];

---> @[@5, @5.5, …];

您可以对核心数据对象数组执行相同的操作:

// ... create the managed objects and fill their attributes
object.total = @1;
object.value = @5;
// etc
NSArray *resultsArray = [fetchedObjects valueForKeyPath:@"value"];

---> @[@5, @5.5, …];

关于ios - 使用 NSArray 从 iOS 上的可转换核心数据创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18765238/

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