swift中any和anyobject的区别
1个回答
2016-09-21 · 知道合伙人教育行家
关注
展开全部
在Swift语言中,Any是一个空协议集合的别名,它表示没有实现任何协议,因此它可以是任何类型,包括类实例与结构体实例。
AnyObject是一个成员为空的协议,任何对象都实现了这个协议。总的来说,AnyObject是一个协议,Any是空协议集合。
另外,经常令人困惑的还有"AnyObject"和"AnyObject!"。顺便也说一下区别:
AnyObject是一定不能为空,包括初始化的时候。
AnyObject!表示类型是一个optional类型,初始化的时候可以为空,但是加!表示知道用它时它是一定不为空的。
AnyObject是一个成员为空的协议,任何对象都实现了这个协议。总的来说,AnyObject是一个协议,Any是空协议集合。
另外,经常令人困惑的还有"AnyObject"和"AnyObject!"。顺便也说一下区别:
AnyObject是一定不能为空,包括初始化的时候。
AnyObject!表示类型是一个optional类型,初始化的时候可以为空,但是加!表示知道用它时它是一定不为空的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询