オブジェクトの配列を返すJSONを読み込んでいます。私は自分のオブジェクトAFTPartyにJSONレスポンスをバインドしたいと私は、このコンパイルエラーとよ:タイプ '_?'の値を変換できません。 [AFTParty]と入力してください強制的に - Swift
Cannot convert value of type '_?' to type '[AFTParty]?'
AFTPartyは、復号可能なプロトコルに準拠し、私は仕事をするHimotokiを使用していたクラスです。
マイJSON:エラーを与えている
[
{
id: 1,
partyName: "x",
partyAuthor: [
{
id: 1,
username: "mtfons",
name: "marco",
lastname: "fonseca",
phoneNumber: "91859158",
email: "[email protected]"
}
],
partyDescription: null,
partyStyle: null,
partyPermission: "PUBLICA",
partyLocation: {
id: 1,
latitude: "1248174",
longitude: "1428149"
},
prices: [ ],
partyDetailToJoin: "x",
partyDateBegin: null,
partyDateEnd: null,
partyImagesPath: [ ],
partyParticipants: [
{
id: 1,
username: "x",
name: "x",
lastname: "x",
phoneNumber: "x",
email: "[email protected]"
},
{
id: 2,
username: "x",
name: "ajfk",
lastname: "jfa",
phoneNumber: "x",
email: "[email protected]"
}
],
time: null,
partyType: null
}
]
コード:
let partyDeserializer = AFTPartyDeserializerImplementation(network: network)
describe("Response") {
it("returns party if the network works correctly.") {
var response = [AFTParty]()
partyDeserializer.getParty().on(next: { response = $0 }).start()
}
}
public func getParty() -> SignalProducer<AFTParty, AFTNetworkError> {
let url = AFTRouter.Parties.URL
return network.requestJSON(url, parameters: nil)
.attemptMap { json in
if let response = (try? decodeValue(json)) as [AFTParty]? {
return Result(value: response)
}
else {
return Result(error: .IncorrectDataReturned)
}
}
}
あなたの助けのおかげで、私は私の悪い英語のためにごめんなさい。
問題は「as」キャストになる可能性があると思います。それはおそらく 'であろうか? 'でしょう。 – Sulthan