gpt4 book ai didi

ios - 由于未捕获的异常 'NSInvalidArgumentException' 而终止应用程序,原因 : '-[__NSArrayM objectForKey:]: unrecognized selector sent to instance

转载 作者:行者123 更新时间:2023-11-29 00:08:53 26 4
gpt4 key购买 nike

我正在尝试像这样更改以下数组。实际响应:

 errFlag = 0;
errMsg = "Got Slot successfully.";
errNum = 128;
slots = (
{
date = "";
slot = (
{
booked = 1;
end = 1510822800;
"end_dt" = "09:00:00";
id = 5a02a0372279511b1c968a10;
locId = "";
radius = 1;
"slot_price" = 20;
start = 1510815600;
"start_dt" = "07:00:00";
}
);
}
);

我想要的响应...

{
"start_dt" = "07:00:00";
}
{
"start_dt" = "11:00:00";
}
{
"start_dt" = "14:00:00";
}

我按照以下方式尝试了此操作,但最终得到了异常(exception)。

if (requestType == RequestTypeGetAllMetSlots)
{

// altering the response into an array
NSDictionary *slotResultsDict = response[@"slots"];
NSLog(@"Priniting timeSlotResponseDict%@",slotResultsDict);
timeSlotResponseArray = [[slotResultsDict objectForKey:@"slot"] valueForKey:@"start_dt"];
NSLog(@"Priniting timeSlotResponseArray%@",timeSlotResponseArray);


}

以下是我遇到的异常..请帮助我..

 Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM objectForKey:]: unrecognized selector sent to instance

最佳答案

崩溃,因为 response 是数组而不是字典。而且 slot 也是一个数组而不是字典。

试试这个。

NSArray *slots = response[@"slots"]
NSDictionary *slotResultsDict = [slots firstObject];
NSLog(@"Priniting timeSlotResponseDict%@",slotResultsDict);

NSDictionary *subSlot = [[slotResultsDict objectForKey:@"slot"] firstObject];
timeSlotResponseArray = [subSlot valueForKey:@"start_dt"];
NSLog(@"Priniting timeSlotResponseArray%@",timeSlotResponseArray);

或者在一行中。

NSString *startDate = [[[[response[@"slots"] firstObject] objectForKey:@"slot"] firstObject] objectForKey:@"start_dt"];

关于ios - 由于未捕获的异常 'NSInvalidArgumentException' 而终止应用程序,原因 : '-[__NSArrayM objectForKey:]: unrecognized selector sent to instance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47195026/

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