- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 NSMutableUrl 请求从 .net Web 服务器获取 Web 数据。
在通过使用 NSXmlparsing 解析响应将我存储在 NSDirectory 中之后,我正在使用肥皂请求获取数据。
我的代码是
NSArray *keys = [NSArray arrayWithObjects:@"id", @"firstname", @"lastname",@"addr",@"state",@"country",@"email",@"phone", nil];
directory = [NSDictionary dictionaryWithObjects:resultData forKeys:keys];
[[NSUserDefaults standardUserDefaults] setObject:directory forKey:@"dictionaryKey"];
它工作正常,但每当我输入错误时,它就会出现这样的异常。
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSPlaceholderDictionary initWithObjects:forKeys:]: number of objects (0) not equal to number of keys (8)'
我从网络服务器收到这样的响应
<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><GenericAndroidMethodResponse xmlns="Mortgage"><GenericAndroidMethodResult><NewDataSet /></GenericAndroidMethodResult></GenericAndroidMethodResponse></soap:Body></soap:Envelope>
应用程序退出。
但是如果我得到错误的响应我该如何识别,当时我需要显示警报但不退出应用程序。
我怎样才能做到这一点。
我认为我的问题很清楚。
谁能帮帮我。
提前谢谢你。
最佳答案
您正在尝试创建一个字典并向其传递 8 个键(您的 keys
变量),但您没有传递相同数量的值。事实上,Cocoa 说你的 resultData
是一个空数组(甚至可能是 nil)。因此,您需要使用以下内容来保护您的代码:
if ([resultData count] == 8) {
// Creating the dictionary will succeed.
directory = ... ;
} else {
// Creating the dictionary will fail, handle or ignore that.
}
关于iphone - NSInvalidArgumentException',原因: '-[__NSPlaceholderDictionary initWithObjects:forKeys: error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4711510/
我只是在学习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
我是一名优秀的程序员,十分优秀!