- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的项目中,我创建了一个包含对象和键的字典我为对象和键创建 NSArray
但是当我尝试创建字典时它会发送以下错误:
* Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '* -[NSDictionary initWithObjects:forKeys:]: count of objects (2) differs from count of keys (12)'
但我正在将所有 12 个对象发送到字典
我的代码是:
NSArray *keys = [NSArray arrayWithObjects: @"api_key", @"truck_id",@"driver_id", @"member_id",@"amount",@"net_amount",@"vendor_id",@"delivery_date",@"address_id", @"create_Id", @"transaction_id",@"Cart_Details", nil];
NSLog(@"Truck Id Str is %@",TruckIdStr);
NSLog(@"Driver Id is %@",DriverIdStr);
NSLog(@"Member Id is %@",Member_id);
NSLog(@"Amount is %@",amount);
NSLog(@"Grand Total is %@",GrandTotalString);
NSLog(@"Vendor Id is %@",vendor_id);
NSLog(@"delivery date is %@",delivery_date);
NSLog(@"Address Id is %@",RcvdAddressId);
NSLog(@"Create Id is %@",create_Id);
NSLog(@"Transaction Id is %@",Transaction_Id);
NSLog(@"Selected Item array is %@",SelectedItemsArray);
NSArray *objects = [NSArray arrayWithObjects:@"bf45c093e542f057c123ae7d6",TruckIdStr,DriverIdStr,Member_id,amount,GrandTotalString,vendor_id,delivery_date,RcvdAddressId,create_Id,Transaction_Id,SelectedItemsArray, nil];
NSDictionary *dictionary = [NSDictionary dictionaryWithObjects:objects forKeys:keys];
NSLog(@"Dictionary is %@",dictionary);
在控制台区域,它显示 nslog 值:
Truck Id Str is
Driver Id is (null)
Member Id is 269
Amount is 10
Grand Total is 30.06
Vendor Id is 447
delivery date is 2017/07/21
Address Id is 37
Create Id is 2017-07-21T05:43:06Z
Transaction Id is PAY-1RA1614620154883CLFYZI2Q
Selected Item array is (
{
TotalPrice = "0.06";
UnitPrice = "0.02";
VendorId = 447;
itemId = 75;
itemQuantity = 3;
name = "Green-Chile Burgers with Fried Eggs";
},
{
TotalPrice = 30;
UnitPrice = 10;
VendorId = 447;
itemId = 77;
itemQuantity = 3;
name = TestRohit11;
}
)
最佳答案
这是由于 NULL 值。
这是导致应用崩溃的代码:
NSArray *keys = [NSArray arrayWithObjects: @"api_key", @"truck_id",@"driver_id", @"member_id",@"amount",@"net_amount",@"vendor_id",@"delivery_date",@"address_id", @"create_Id", @"transaction_id",@"Cart_Details", nil];
// @"DriverIdStr"
NSArray *objects = [NSArray arrayWithObjects:@"bf45c093e542f057c123ae7d6",@"TruckIdStr",NULL,@"Member_id",@"amount",@"GrandTotalString",@"vendor_id",@"delivery_date",@"RcvdAddressId",@"create_Id",@"Transaction_Id",@"SelectedItemsArray", nil];
如果我给出 NULL ,我的应用程序就会崩溃。
正确的代码:
NSArray *objects = [NSArray arrayWithObjects:@"bf45c093e542f057c123ae7d6",@"TruckIdStr",@"DriverIdStr",@"Member_id",@"amount",@"GrandTotalString",@"vendor_id",@"delivery_date",@"RcvdAddressId",@"create_Id",@"Transaction_Id",@"SelectedItemsArray", nil];
如果里面有NULL需要替换成Blank字符串
将 NULL 字符串替换为空白:
NSString* strValue = NULL;
if (strValue == nil || strValue == (id)[NSNull null]) {
// Set Blank to string
strValue = @"";
} else {
// You don't have NULL in your string, so you can use it directly
}
关于IOS: [NSDictionary initWithObjects:forKeys:]:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45230041/
我只是在学习Objective-C,有一本书的代码是这样的: NSArray *foods = [[[NSArray alloc] initWithObjects: @"cheese", @"ham"
This question already has answers here: Swift equivalent to `[NSDictionary initWithObjects: forKeys:
在我的项目中,我创建了一个包含对象和键的字典我为对象和键创建 NSArray 但是当我尝试创建字典时它会发送以下错误: * Terminating app due to uncaught except
作为测试,我在 applicationDidFinishLaunching 的第一行执行以下操作: NSArray *list=[[NSArray alloc] initWithObjects:@"A
检查我的 iOS6 应用程序并尝试为 iOS7 修复所有问题。在我的整个应用程序中,我遇到了错误: -[__NSPlaceholderDictionary initWithObjects:forKey
我有一些数组,我只需要在我的 .M 文件中,所以我认为我在接口(interface)括号中声明它们,就像在 MyViewController.m 中一样(通过这个,我将它们设为私有(private)变
我不明白为什么要写这些代码 icons = [[NSArray alloc] initWithObjects: @"appointment", @"
在Apple Document他们用 &value 初始化 NSSet 对象,我以前从未见过这个。有人可以为我解释一下吗?从文档看它似乎 initWithObjects: 需要对象的 C 数组,&va
我有以下代码: queryParams = @{@"geo_location" : [GlobalData sharedGlobalData].latLong, @"sale_ids": select
你能解释一下这两行之间的确切区别吗? NSArray *foo = [NSArray arrayWithObjects:@"hai",@"how",@"are",@"you",nil]; NSArra
Swift 新手。我有一段 Objective-C 代码,如下所示: self.imageArray = [[NSMutableArray alloc] initWithObjects:@{@"nam
当使用“initWithObjects”将对象添加到 NSArray 时,任何人都可以为我确认这些项目已保留。我很确定它们是,但在任何地方都找不到关于 initWithObjects 的提及? //
是否有 Swift 的原生 Dictionary 与 [NSDictionary initWithObjects: forKeys:] 的等价物? 假设我有两个包含键和值的数组,我想将它们放入字典中。
有人可以帮我解决这个问题吗? 我正在构建一个 iPad 应用程序,它有一个 TableViewController,应该显示 1000 到 2000 个字符串之间的内容。我在单例中有那些 NSStri
我正在尝试在 iOS 上使用电子邮件和密码进行简单登录。登录时出现以下错误。 Terminating app due to uncaught exception 'NSInvalidArgumentE
我和一位工作同事正在努力正确回答两者之间的确切区别创建数组的两种不同方式: NSArray *array1 = @[@"this is my first entry",@"this is my sec
我正在使用 NSMutableUrl 请求从 .net Web 服务器获取 Web 数据。 在通过使用 NSXmlparsing 解析响应将我存储在 NSDirectory 中之后,我正在使用肥皂请求
仍在此处学习 Objective-C/iPhone SDK。我想我知道为什么这不起作用,但我只是想确认一下。 在awakeFromNib中,如果我使用[[NSMutableDictionary all
如标题所示.. 我的 JSON 的 NSDictionary initWithObjectsAndKeys,使用 POST 方法,通过 PHP 代码进行 MySQL 查询,通过使用 json_enco
我正在加载应用程序后将图像延迟加载到数组中。我尝试过使用 NSMutableArray 和 NSArray(创建数组后我不需要更改它)但后者让我崩溃。 ... [self performSelecto
我是一名优秀的程序员,十分优秀!