2016-08-19 2 views
0

나는 울부 짖는 소리와 같은 일부 데이터 constains 간단한 스위프트 파일을 만든 :Swift에서 구조체 사전을 만들 때 Foundation을 가져와야합니까?

let somedata = someData() 

를 호출하여 그때 내 VC에서 데이터를 가져

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 
    ] 
} 

을하지만 난이 포함 된 파일에 import Foundation을 포함해야 구조체? 그것은 적어도 시험 할 때 그것없이 작동합니다.

+3

왜 필요한가요? 그것이없이 작동한다면, 왜 물어 보는거야? – tktsubota

+0

새 빈 파일을 만들 때 xcode 기본적으로 가져 오기 때문에 – user2636197

답변

2

기능을 사용하려면 Foundation을 가져와야합니다. 이러한 기능 중 하나는 componentsSeparatedByString(_:)과 같은 다양한 NSString 메서드입니다. 스위프트 StringNSString으로 브리징되지 않으며 Foundation : NSString은 해당 코드와 관련이 없기 때문에 존재하지도 않으므로 해당 방법을 사용하지 마십시오.

다른 예 파스 백엔드의 결과를 처리 할 때, 예를 들어 AnyObject를 사용 String < =>NSString 또는 < =>NSArrayArray 원한다면, 가교 타입을 참조 할 수있다. Foundation을 가져 오지 않고 연결된 브리징없이 StringArraystruct의 인스턴스이고 class은 아닙니다.

네이티브 Swift 형식 만 사용하고 Foundation 전용 메서드를 호출 할 필요가없는 경우 Foundation 모듈을 가져올 필요가 없습니다.

+0

설명해 주셔서 감사합니다. Xcode는 기본적으로 새 파일을 만들 때이 파일을 가져오고 저에게 생각이 들었습니다. 하지만 나는 uipickerView를 채우기 위해 dict를 사용하기 때문에 삭제할 것입니다. – user2636197

관련 문제