在默认模板中,我们可以找到以下代码:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool
只是想知道为什么这里是[NSObject:AnyObject]?而不是AnyObject?它们之间的区别是什么?
答案 0 :(得分:1)
[NSObject: AnyObject]
是一个字典,允许您通过提供不同的对象来访问一个对象。简单地放AnyObject
意味着你的程序不知道参数是字典,字符串,int,还是什么,因此不知道如何处理它。此外,操作系统调用该方法,因此您知道每次都获得[NSObject: AnyObject]
,所以为什么不使用参数类型。