2016-08-19 23 views
0

我已经作出constains像波纹管的一些数据的简单斯威夫特文件:通过调用在Swift中创建结构字典时,我必须导入Foundation吗?

let somedata = someData() 

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的数据,但我必须包括import Foundation包含在文件中结构?至少在测试时它没有它。

+3

你为什么需要它?如果它没有它,那么你为什么要问? – tktsubota

+0

因为当我创建一个新的空文件xcode默认导入它 – user2636197

回答

2

如果您想使用其功能,则只需要导入Foundation。一种这样的特征将是各种NSString方法,如componentsSeparatedByString(_:)。一个Swift String不桥接到NSString没有导入基础:NSString甚至不存在就代码而言,这些方法也不存在。

另一个例子是能够处理来自一个Parse后端结果时指桥连类型,如String < =>NSStringArray < =>NSArray,使用AnyObject,例如。没有基金会进口,并且相关的桥接,StringArraystruct的实例,而不是class es。

如果您只使用本机Swift类型,并且不需要调用基础方法,则无需导入Foundation模块。

+0

感谢您的解释。当我创建一个新文件时,Xcode默认导入它,这让我想到了。但我只使用字典填充uipickerView,所以我会删除它 – user2636197

相关问题