[NSObject:AnyObject]和swift中的AnyObject有什么区别

时间:2015-07-11 16:28:55

标签: ios swift

在默认模板中,我们可以找到以下代码:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool

只是想知道为什么这里是[NSObject:AnyObject]?而不是AnyObject?它们之间的区别是什么?

1 个答案:

答案 0 :(得分:1)

[NSObject: AnyObject]是一个字典,允许您通过提供不同的对象来访问一个对象。简单地放AnyObject意味着你的程序不知道参数是字典,字符串,int,还是什么,因此不知道如何处理它。此外,操作系统调用该方法,因此您知道每次都获得[NSObject: AnyObject],所以为什么不使用参数类型。