2016-12-06 3 views
-1

나는 서비스라는 변수 때문에 등이 있습니다마이그레이션 스위프트 3

내 질문은, 제가 인터넷에서 봤는데 나는 아이폰 OS에서 멍청한 놈이야 스위프트 3.이를 마이그레이션하는 방법입니다
var service: AnyObject = [] //Swift 2.3 

하지만, 그것을 얻을 수 없습니다.

추신. 오류가 발생합니다. "컨텍스트 유형 'AnyObject'는 배열 리터럴과 함께 사용할 수 없습니다."

미리 감사드립니다!

답변

3

당신이하고 있었던 일은 항상 잘못되었습니다. 초기화시에 제공 할 값이 없으면 선택적을 사용하십시오. 이상적으로는 AnyObject와 같은 포괄 형이 아닌 값을 가져올 때 실제 값 유형으로 선언해야합니다. 당신이 그렇게 할 수 없다면, 그럼 그냥 Any?을 사용합니다 - 예를 들어 당신이이 사전이 될 것 알고있는 경우 -이 일의 유형 알려진 경우,

var service : Any? 

을 또는 다음과 같이 그것을 선언하여 Dictionary 아마도 이런 빈 사전을 제공함으로써 다음은

var service = [AnyHashable:Any]() 
+0

감사 남자에서 더 이상 작동하지 않습니다 ,하지만 이제는 "Type"Any?가 생겼어. " –

+0

다른 응답자에게 거짓말을했습니다. 배열입니다. 왜 그 사람의 대답을 받아들이지 않았 니? – matt

+0

배열이 아니기 때문에 그 이유는 –

0

var service = [AnyObject]()

+0

는 광산은 변수입니다하지만 난 그것을 선언 할 때 초기화해야하지만이 방법은 스위프트 3. –

0

스위프트 -3 그것을 사용한 예이다

var service = [AnyObject]() //Swift 3 
service = ["a" as AnyObject,"b" as AnyObject] 
print(service) 

출력 :이 방법은 배열에 대한 생각

a,b