我制作了一个简单的Swift文件来保存一些像bellow:
这样的数据import Foundation
struct someData {
let stringsAsInts: [name: String, value: Int] = [
"zero" : 0,
"one" : 1,
"two" : 2,
"three" : 3,
"four" : 4,
"five" : 5,
"six" : 6,
"seven" : 7,
"eight" : 8,
"nine" : 9
]
}
然后我通过调用
来获取VC中的数据let somedata = someData()
但是我必须在包含结构的文件中包含import Foundation
吗?当我至少测试时它没有它。
答案 0 :(得分:2)
如果要使用其功能,则只需要导入Foundation。一个这样的功能是各种NSString
方法,如componentsSeparatedByString(_:)
。如果没有导入基础,则Swift String
不会桥接到NSString
:就该代码而言,NSString
甚至不存在,因此这些方法也不存在。
另一个例子是能够引用桥接类型,例如String
< => NSString
或Array
< => NSArray
,使用AnyObject
,例如处理来自Parse后端的结果时。如果没有导入基础,并且关联的桥接,String
和Array
是struct
s的实例,而不是class
es。
如果您只使用本机Swift类型而不需要在它们上调用仅基于Foundation的方法,则无需导入Foundation模块。