问题标签 [nsnull]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
8636 浏览

objective-c - NSManagedObject 属性值的 NSNull 处理

我正在为我的属性设置值NSManagedObject,这些值来自一个NSDictionary从 JSON 文件正确序列化的值。我的问题是,当某个值为 时[NSNull null],我不能直接分配给该属性:

这抛出了一个NSInvalidArgumentException

我可以轻松地检查[NSNull null]并分配的值nil

但我认为这并不优雅,而且需要设置很多属性。

此外,在处理NSNumber属性时这会变得更加困难:

现在NSInvalidArgumentException是:

在这种情况下,我必须在对其进行评估[dict valueForKey:@"round"]之前进行处理NSUInteger。并且单线解决方案消失了。

我尝试制作一个@try @catch 块,但是一旦第一个值被捕获,它就会跳过整个@try 块并且忽略下一个属性。

有没有更好的方法来处理[NSNull null]或者可能使这完全不同但更容易?

0 投票
1 回答
228 浏览

objective-c - NSString 类型的属性何时为 [NSNull null]

我正在解析一些 json 以返回基本字符串令牌或错误消息。

证明这一点的测试

一切都很好,直到我将它连接到一个实际的端点 - 只是发现除非我像下面这样修改回调 - 它正在调用两个回调(不是我希望的)

所以 2 部分问题

  1. 为什么我不能写一个测试来证明这一点?每当我将错误或令牌设置为 NULL 或 NSNull 时,它都可以正常工作(但生产工作需要此代码)

  2. 为什么生产代码只会在条件条件下失败!= [NSNull null](但我似乎什么也得不到,但是<null>当我在模拟器中运行它时 NSLog 值时?

请记住,SomeResult 对象上的令牌/错误属性如下所示

0 投票
8 回答
6746 浏览

ios - 替换嵌套 NSDictionary 中出现的 NSNull

这个问题类似于这个问题,但是这种方法只适用于字典的根级别。

我正在寻找NSNull用空字符串替换任何出现的值,以便我可以将完整的字典保存到 plist 文件中(如果我将它与 NSNull 一起添加,则文件不会写入)。

然而,我的字典里面有嵌套的字典。像这样:

如果我使用:

我得到这样的东西:

有没有办法NSNull从包括嵌套字典在内的所有字典中找到每个值......?

编辑: 数据是从 JSON 提要中提取的,因此我收到的数据是动态的(我不想在每次提要更改时都更新应用程序)。

0 投票
1 回答
286 浏览

ios5 - 如果 iOS 5 + 联系人中的姓氏为空,则应用程序崩溃

我正在尝试从通讯录中检索联系人并将其显示在表格视图中,索引列表与 iOS 中的联系人应用程序相同。我正在按姓氏对联系人进行排序。如果姓氏为空,则我的应用程序崩溃。这是我的代码

如果 LAST NAME 是 EMPTY 应用程序崩溃

如何检查姓氏是否为空并将其显示在索引列表的未命名部分中。任何形式的帮助表示赞赏。提前致谢

0 投票
2 回答
1130 浏览

objective-c - 如何删除来自 NSDictionary?

我正在尝试使用NSArray不允许空值的 NSDictionaries 的 writeToFile 方法。我想只是循环并找到它们并用空替换,NSString但我无法让它工作。这就是我正在尝试的。

编辑: NSArrays 和 NSDictionaries 由 NSJSONSerialization 创建。

但这会引发异常。*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[__NSCFDictionary setObject:forKey:]: mutating method sent to immutable object'

但正如您所见,所有 NSDictionaries 都是可变的。

这是怎么回事?有一个更好的方法吗?

编辑:将新版本移至单独的答案。

0 投票
1 回答
96 浏览

objective-c - 我应该如何整理这段代码:

显然,这很混乱,原因很简单。

BusinessToSave是一个托管对象。

通常它应该简单地归零。但是,字典不能包含 nil 值,而是返回 NULL。

所以我不能只做BusinessToSave.buildingName = dictInfoForThisBusiness[@"Building"]

那我该怎么办?

我试过的一件事是:

我尝试的另一件事是

我不知道为什么点符号可以工作,因为 nilIfNull 返回 id

我终于适应了

[dictInfoForThisBusiness[@"Building"] nilIfNull]如果我期望 NSString,它会起作用。有更好或更标准的方法吗?

0 投票
4 回答
1812 浏览

objective-c - NSMutableDictionary 和 [NSNull null] 值

好的。我已经搜索和搜索无济于事,我一直在努力解决这个问题。

我正在尝试确定 UITextField 是否具有空白值,如果是,则将空值发送到服务器,而不仅仅是空白字符串。

以下代码

记录这个

我无法弄清楚为什么[NSNull null]会在"<null>". 如果用户不输入值,应用程序会继续将该字符串作为城市发送,显然不是我想要的。我没有在这里显示网络调用,但我正在使用 AFNetworking 来执行此操作。不过,在我调用 AFN 之前,我可以确认字典包含该字符串而不是 null。所以我知道问题不在于AFN。

任何帮助是极大的赞赏。

0 投票
1 回答
605 浏览

objective-c - 为了避免 [NSNull performSelector:...] 问题而使用 NSNull 类别技巧是否符合规定?

在我们的项目中,当网络上有东西返回带有 nil 的 JSON 时,我们偶尔会导致我们的 iPhone 应用程序崩溃。当然,我们确实有一个助手类,它可以处理这样的问题。但是,人们很容易出错,并且确实在 NSDictionary 上调用 objectForKey 而不是我们自己的 stringForKey 或 dateForKey 等。现在,有一个类可以一劳永逸地解决所有此类问题:https ://github.com/nicklockwood /NullSafe

我的问题是:NullSafe 真的安全吗?因为有时你确实希望你的程序在逻辑错误并且得到 NSNull 时崩溃。只是忽略问题会隐藏它。该应用程序可能不会崩溃,但在某些情况下,会做一些奇怪的事情。

现在我倾向于不使用这个类,只是在我们尝试解析获取值之前确保我们的 JSON NSDictionaries 被过滤掉了所有 NSNulls(虽然它可能会影响性能)。

你们有什么感想?

0 投票
1 回答
652 浏览

objective-c - 调用超类中的Objective C setter而不是子类

我正在尝试继承 UILabel 以便设置器 setText 检查 null 以避免如果提供的参数是 NSNULL: [NSNull isEqualToString:]: unrecognized selector sent to instance

代码如下。我进入了一个调试器,它没有进入我调用的新设置器:

其中 someSubClassLabel 是 UILabelWithNULLHandler。

在.h

在.m中定义了方法:

编辑:我想我可以添加代码来处理 nil,但目前,我正在处理从 NSDictionary 中提取的 NSNUll。

0 投票
6 回答
7323 浏览

iphone - 如何从 NSMutableArray 中删除 NULL 值?IOS

我有一个生日数组,因为数组是从 Facebook 填充的,所以有些朋友的生日是私有的,所以它包含 NULL 如何像空字符串一样转换该数组,只要有空值,数组如下所示