좋아요, 저는 URL 쿼리에 익숙하지 않고 스위프트의 전체적인 측면에 도움이 필요합니다. 있는 그대로, 나는 SKScene
을 포함하는 iMessage 앱을 가지고 있습니다. 사용자가 게임을 번갈아 가며 진행하려면 여기에서 배운대로 1 세션 내에서 메시지를 앞뒤로 보내야합니다 : https://medium.com/lost-bananas/building-an-interactive-imessage-application-for-ios-10-in-swift-7da4a18bdeed.Swift3의 SKScene 및 URLQueryItems?
지금까지는 모든 장면이 제대로 작동하지만 Apple의 아이스크림 데모에서는 앞뒤로 연속적으로 아이스크림을 보내고 있습니다. SKScene
의 모든 내용을 "쿼리"하는 방법을 이해할 수 없으므로 보낼 수 있습니다. 장면.
URLQueryItem
작업이 설명서가 스프라이트 키트 장면과 관련이없는 것처럼 불분명합니다.
init?(queryItems: [URLQueryItem]) {
var base: Base?
var scoops: Scoops?
var topping: Topping?
for queryItem in queryItems {
guard let value = queryItem.value else { continue }
if let decodedPart = Base(rawValue: value), queryItem.name == Base.queryItemKey {
base = decodedPart
}
if let decodedPart = Scoops(rawValue: value), queryItem.name == Scoops.queryItemKey {
scoops = decodedPart
}
if let decodedPart = Topping(rawValue: value), queryItem.name == Topping.queryItemKey {
topping = decodedPart
}
}
guard let decodedBase = base else { return nil }
self.base = decodedBase
self.scoops = scoops
self.topping = topping
}
}
fileprivate func composeMessage(with iceCream: IceCream, caption: String, session: MSSession? = nil) -> MSMessage {
var components = URLComponents()
components.queryItems = iceCream.queryItems
let layout = MSMessageTemplateLayout()
layout.image = iceCream.renderSticker(opaque: true)
layout.caption = caption
let message = MSMessage(session: session ?? MSSession())
message.url = components.url!
message.layout = layout
return message
}
}
그러나 나는 밖으로 찾을 수 없습니다 방법 "쿼리"는 SKScene
에 :
애플은이 같은 현재 상태에서 자신의 "아이스크림"을 조회합니다. SKScene
을 앞뒤로 "보낼"수 있습니까? 이것이 가능한가?
감사합니다. 그래, 알아 냈지만 문자열을 저장할 수있는만큼 문제가 있습니다. http://stackoverflow.com/questions/43334841/can-you-send-objects-other에서보세요. -than-strings-in-urlqueryitems – skyguy
도움이되어서 기쁘다 :) 나는 당신의 다른 질문에도 대답했습니다. 잘하면, 그게 도움이 ... – Fahim