- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图让 NSNull
符合 NilLiteralConvertible
,但我遇到了很多挫折:
extension NSNull : NilLiteralConvertible{
required convenience init(nilLiteral: ()){
self.init()
}
}
首先,我不得不让 init
成为一个 convenience
,因为我不能在扩展中添加指定的初始化程序。
然后,编译器发疯了,坚持必须让 init 成为required
,然后立即提示说 required
初始化器必须直接添加到类中,而不是在类中扩大。什么鬼?!
有人知道发生了什么以及如何使 NSNull
符合这个简单的协议(protocol)吗?
我正在 Xcode playground 中对此进行测试。
最佳答案
应该没有理由符合NSNull
至 NilLiteralConvertible
.尽管该协议(protocol)是公开的,但它主要由 NSZone
在内部使用以及 Optionals 在该语言中的实现(参见源代码中的引用资料 here)。您只需将变量声明为 Optional<NSNull>
即可获得所需的行为。 . Optional
枚举符合 NilLiteralConvertible
对你来说,如 Optional.swift 的来源所示:
这行不通:
var null: NSNull
null = NSNull() // <null>
null = nil // error: nil cannot be assigned to type 'NSNull'
但是这样做:
var null: NSNull?
null = NSNull() // <null>
null = nil // nil
关于cocoa - 使 NSNull 符合 NilLiteralConvertible,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26822192/
我遇到内存管理问题,无法在 iOS 上解决问题。我正在从 SQLite 数据库获取数据,其中某些单元格可能为空。因此,为了处理这种情况,如果为空,我将 [NSNull null] 分配给我的收件人,如
在我们的项目中,当网络上有东西返回 JSON 时,我们的 iPhone 应用程序偶尔会崩溃,其中包含 nil。当然,我们确实有一个帮助类,它负责处理此类问题。然而,人们很容易出错,并且确实在 NSDi
在苹果的例子中我看到了这个: myController *controller = [viewControllers objectAtIndex:page]; if ((NSNull *)contro
我在尝试显示标签时收到 [NSNull rangeOfCharacterFromSet:]: 异常。错误显示 'NSInvalidArgumentException', reason: '-[NSNu
我有一个简单的 NSMO,它有一个关系字段。有时我需要删除关系但保留对象。这是对象,它与 Person 具有一对一关系(person 与 LineUp 具有一对多关系): @objc (LineUp)
赏金事件只剩一天了! 您能否让自定义动画属性与 UIView animateWithDuration block 语法一起使用? 我一直致力于为自定义 CALayer 上的自定义动画属性创建我自己的隐
我正在尝试将字符串设置为“如果 [object objectForKey@"display_name"] 为 NULL,则不显示名称”。它在日志中崩溃了 2011-06-16 10:58:36.251
是否有可能让 Core Data 允许分配 NSNull?我正在使用 JSONKit它默认分配 NSNull。我希望能够像这样进行反序列化: - (void)deserialize:(NSDictio
针对iOS应用进行编码,我发现有潜在的原因禁止继承NSNumber,NSNull,... blabla。 如果我尝试这样做,编译器不会失败,但是运行会立即崩溃,而没有任何使用信息,有人知道原因吗? 最
我在错误消息中收到了以上内容。 [NSNull getCharacters:]: 我在文档中找不到它。谁能给我解释一下这是什么意思? 非常感谢。 编辑:这与链接到的关于 NSNull getChara
当使用键值编码在 NSArrays 上使用集合运算符(例如 @min、@max)时,如果出现以下情况之一,我会得到一个异常数组中的值为 NSNull null。 在使用 valueForKeyPath
我在以前的开发人员离开后转移到的项目中有以下 block NSObject *object = (NSObject *)string; if([object isEqual:[NSNull null]
我有一个循环,第一次运行良好,但第二次运行时我得到: -[NSNull count]: unrecognized selector sent to instance 0x3a094a70 *** T
if let action = self.info?["action"] { switch action as! String { .... } } else {...
我有一个这样结构的数组, [ { "Id": 20, "Name": "Name String", "Email
我实际上是在尝试在 Xcode8.1 上使用 Swift3 解析 Json 对象。这是我的代码: if let objData = objJson["DATA"] as! NSDictionary?
allItems是 NSMutableArray当用户单击加号按钮时,方法 createItem被叫。我试图只为每个偶数索引添加对象(类 BNRItem ),所以我尝试放置 NSNull 的实例对于奇
我的 iPhone 应用程序崩溃,出现以下错误: [724:95876] *** Terminating app due to uncaught exception 'NSInvalidArgumen
我有可能包含对象的 JSON 响应。在我的模型对象中,我这样做: _price3 = self.serverData[@"price3"]; 我想做类似的东西: _price3 = self.se
我遇到了这个异常,但我无法找出问题所在。 我尝试添加异常断点和符号断点,但它没有显示任何更有用的数据。它在 main.h 返回时崩溃,回溯中没有任何内容 这是异常(exception): 20
我是一名优秀的程序员,十分优秀!