无法为类型'AnyObject?'调用初始化程序没有参数
问题描述:
我正在使用swift 3来构建一种聊天信使类型。 要存储loggedIn用户,我尝试使用AnyObject类型的onject。无法为类型'AnyObject?'调用初始化程序没有参数
var loggedInUser = AnyObject?()
而且它提供了以下错误: ViewController.swift:29:24: '?AnyObject' 无法调用类型初始化没有参数
答
AnyObject
是一个协议。
协议没有初始值设定项。您无法通过ProtocolName()
初始化协议实例。您必须为协议中的方法提供实现,并创建具有这些实现的类的实例。
我认为它不适合将登录用户作为AnyObject
存储,因为用户不仅仅是任何对象。用户是用户!
我认为你应该做的是创建一个名为User
的结构/类,并将登录用户存储为该类型的一个实例。
使用相当不确定的类型'AnyObject'而不是更具体的类型'User'或者你正在使用什么类型的用户是什么目的。 AnyObject'有初始化器吗? – vadian
你能解决吗? –
[Swift 3.0中的UIView?()构造函数发生了什么?](http://stackoverflow.com/questions/39549717/what-happened-to-the-uiview-constructor-in-swift-3- 0) – Hamish