gpt4 book ai didi

ios - 从NSMutableDictionary构建NSMutableArray导致NSException

转载 作者:行者123 更新时间:2023-12-01 19:53:35 25 4
gpt4 key购买 nike

我是iOS开发的新手。我试图将NSMutableArray的结果放入NSMutableString中,但这会导致NSException。
这是我的代码:

NSMutableArray *oldtableData = .......this is where I recieve card data;
NSError *error;
NSMutableData *tableDataUpdated = [[NSJSONSerialization dataWithJSONObject:oldtableData
options:0
error:&error] copy];
NSMutableDictionary *cardDictionary = [NSJSONSerialization JSONObjectWithData:tableDataUpdated options:0 error:NULL];

为了将cardDictionary转换为NSMutableArray,我使用了这段代码(这给了我NSException)
NSMutableArray *type = [NSMutableArray array];
NSMutableArray *last4Digits = [NSMutableArray array];
[cardDictionary enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
[type addObject:[obj valueForKeyPath:@"type"]];
[last4Digits addObject:[obj valueForKeyPath:@"last4Digits"]];
}];

但是,如果我排除上面的代码并尝试使用这段代码进行NSLog
NSLog(@"JSON: %@",cardDictionary);

控制台将给出适当的json结果;像这样的东西:
JSON: (
{
cardPciId = "###########";
fingerPrint = ###########;
last4Digits = 4321;
type = Mastercard;
},
{
cardPciId = "###########";
fingerPrint = ###########;
last4Digits = 1234;
type = Visa;
}
)

我试图将其转换为两个数组,一个具有所有“类型”,另一个具有所有“last4Digits”。但这就是我得到的
Uncaught exception: -[__NSCFArray enumerateKeysAndObjectsUsingBlock:]:
unrecognized selector sent to instance 0x7ff7060badf0

我试图将鼠标悬停在StackOverFlow上以找到解决方案,但是它们似乎都没有起作用。 :(

最佳答案

看来cardDictionary实际上是包含字典的NSArray实例。因此,您应该遍历数组,并使用 type 而不是last4Digits从每个字典中获取objectForKeyvalueForKeyPath:

NSArray *cardDictionaries = [NSJSONSerialization JSONObjectWithData:tableDataUpdated options:0 error:NULL];

NSMutableArray *type = [NSMutableArray array];
NSMutableArray *last4Digits = [NSMutableArray array];

[cardDictionaries enumerateObjectsUsingBlock:^(NSDictionary *cardDictionary, NSUInteger idx, BOOL *stop) {
[type addObject:[cardDictionary objectForKey:@"type"]];
[last4Digits addObject:[cardDictionary objectForKey:@"last4Digits"]];
}];

关于ios - 从NSMutableDictionary构建NSMutableArray导致NSException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44081219/

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