2016-09-15 72 views
0

我正在使用swift 3来构建一种聊天信使类型。 要存储loggedIn用户,我尝试使用AnyObject类型的onject。无法为类型'AnyObject?'调用初始化程序没有参数

var loggedInUser = AnyObject?() 

而且它提供了以下错误: ViewController.swift:29:24: '?AnyObject' 无法调用类型初始化没有参数

+1

使用相当不确定的类型'AnyObject'而不是更具体的类型'User'或者你正在使用什么类型的用户是什么目的。 AnyObject'有初始化器吗? – vadian

+0

你能解决吗? –

+1

[Swift 3.0中的UIView?()构造函数发生了什么?](http://stackoverflow.com/questions/39549717/what-happened-to-the-uiview-constructor-in-swift-3- 0) – Hamish

回答

0

AnyObject是一个协议。

协议没有初始值设定项。您无法通过ProtocolName()初始化协议实例。您必须为协议中的方法提供实现,并创建具有这些实现的类的实例。

我认为它不适合将登录用户作为AnyObject存储,因为用户不仅仅是任何对象。用户是用户!

我认为你应该做的是创建一个名为User的结构/类,并将登录用户存储为该类型的一个实例。

相关问题