基本上,它们之间的区别是什么:
var temp1 = NSDictionary()
var temp2:NSDictionary = NSDictionary()
他们的工作方式完全相同。 提前谢谢。
答案 0 :(得分:2)
在第二种情况下,您明确定义temp2
的类型,称其为NSDictionary
。
在第一种情况下,你让编译器推断它是NSDictionary
。
在您的具体示例中,没有区别。
但是,如果您这样做:
var temp1 = NSArray()
var temp2: NSDictionary = NSArray()
编译器不会抱怨temp1
,推断它是NSArray
,而它会抱怨temp2,注意到你试图将NSArray
分配给{{1} }}
答案 1 :(得分:1)
没有区别。 Swift有类型推断,所以在你的第一个例子中,类型是NSDictionary
的。在第二个示例中,您手动定义类型,这不是Swift的推荐样式,因为在XCode中,您可以通过选项单击它来检查变量的类型,因此无需过度指定所有内容并写下不必要的混乱。
答案 2 :(得分:1)
在这种情况下,除了我做的事情之外,它根本不重要:
var a = self.returnValue()
我更喜欢明确地显示类型:
var a : NSValue = self.returnValue()
为了更好的可读性。