私はSwift
とプログラミングには初めてです。私はXcode 8.2.1
とParse AWS
(無料)サーバーを使用しています。swift 3で解析APIを使用すると、一部のクエリ結果だけが保存されますか?
具体的なobject IDs
のすべてのquery
の結果を新しいparse class
の1つの行に保存するために、次の構文を使用しています。
query
の結果のほとんどは、すべてのものではなく、プライマリシティークエリー、セカンドシティークエリー、都市ディテールクエリーなどのセービングです(例:マルチシークエンス)。
別のUIViewController
と全く同じ構文を使用しています(しかし、3つだけqueries
)、うまくいきます。
質問が多すぎますか?これはすべてviewDidLoad
です。これを行うより良い方法があるかどうかをアドバイスしてください。
ありがとうございました!
let primaryCityQuery = PFQuery(className: "primaryCityDetails")
primaryCityQuery.whereKey("objectId", equalTo: passedPrimaryCityDetailsObjectIdString)
primaryCityQuery.findObjectsInBackground(block: { (objects, error) in
if let objects = objects {
for primaryCityQuery in objects {
if let primaryCity = primaryCityQuery["primaryCity"] as? String {
self.primaryCity = String(primaryCity)
print(self.primaryCity) }
if let primaryCountry = primaryCityQuery["primaryCountry"] as? String {
self.primaryCountry = String(primaryCountry)
print(self.primaryCountry) }
if let primaryState = primaryCityQuery["primaryState"] as? String {
self.primaryState = String(primaryState)
print(self.primaryState) }
if let numberDays = primaryCityQuery["numberDays"] as? String {
self.numberDays = String(numberDays)
print(self.numberDays) }
if let numberNights = primaryCityQuery["numberNights"] as? String {
self.numberNights = String(numberNights)
print(self.numberNights) }
} } else {
print(error!)
} })
//second city info
let secondCityQuery = PFQuery(className: "secondCityDetails")
secondCityQuery.whereKey("objectId", equalTo: passedSecondCityDetailsObjectIDString)
secondCityQuery.findObjectsInBackground(block: { (objects, error) in
if let objects = objects {
for secondCityQuery in objects {
if let secondCity = secondCityQuery["secondCity"] as? String {
self.secondCity = String(secondCity)
print(self.secondCity) }
if let secondCountry = secondCityQuery["secondCountry"] as? String {
self.secondCountry = String(secondCountry)
print(self.secondCountry) }
if let secondState = secondCityQuery["secondState"] as? String {
self.secondState = String(secondState)
print(self.secondState) }
} } else {
print(error!)
} })
//
let multiCityQuery = PFQuery(className: "multiCityDetails")
multiCityQuery.whereKey("objectId", equalTo: passedCityBeforeDetailsObjectIdString)
multiCityQuery.findObjectsInBackground(block: { (objects, error) in
if let objects = objects {
for multiCityQuery in objects {
if let beforeCity = multiCityQuery["beforeCity"] as? String {
self.beforeCity = String(beforeCity)
print(self.beforeCity) }
if let beforeCountry = multiCityQuery["beforeCountry"] as? String {
self.beforeCountry = String(beforeCountry)
print(self.beforeCountry) }
if let beforeState = multiCityQuery["beforeState"] as? String {
self.beforeState = String(beforeState)
print(self.beforeState) }
} } else {
print(error!)
} })
let inputtedCityDetailsQuery = PFQuery(className: "primaryTripDetails")
inputtedCityDetailsQuery.whereKey("objectId", equalTo: primTripDetails)
inputtedCityDetailsQuery.findObjectsInBackground(block: { (objects, error) in
if let objects = objects {
for inputtedCityDetailsQuery in objects {
if let primaryTripWhen = inputtedCityDetailsQuery["primaryTripWhen"] as? String {
self.primaryTripWhen = String(primaryTripWhen)
print(self.primaryTripWhen) }
if let primaryTripWhatSort = inputtedCityDetailsQuery["primaryTripWhatSort"] as? String {
self.primaryTripWhatSort = String(primaryTripWhatSort)
print(self.primaryTripWhatSort) }
if let primaryTripWhoWith = inputtedCityDetailsQuery["primaryTripWhoWith"] as? String {
self.primaryTripWhoWith = String(primaryTripWhoWith)
print(self.primaryTripWhoWith) }
if let primaryTripBudget = inputtedCityDetailsQuery["primaryTripBudget"] as? String {
self.primaryTripBudget = String(primaryTripBudget)
print(self.primaryTripBudget)
let fullCityInput = PFObject(className: "fullCityInputRow")
fullCityInput["primaryCity"] = self.primaryCity
fullCityInput["primaryCountry"] = self.primaryCountry
fullCityInput["primaryState"] = self.primaryState
fullCityInput["secondCity"] = self.secondCity
fullCityInput["secondCountry"] = self.secondCountry
fullCityInput["secondState"] = self.secondState
fullCityInput["beforeCity"] = self.beforeCity
fullCityInput["beforeCountry"] = self.beforeCountry
fullCityInput["beforeState"] = self.beforeState
fullCityInput["primaryTripWhoWith"] = self.primaryTripWhoWith
fullCityInput["primaryTripBudget"] = self.primaryTripBudget
fullCityInput["primaryTripWhen"] = self.primaryTripWhen
fullCityInput["primaryTripWhatSort"] = self.primaryTripWhatSort
fullCityInput["numberDays"] = self.numberDays
fullCityInput["numberNights"] = self.numberNights
fullCityInput.saveInBackground(block: { (success, error) in
if success {
print("full city input row saved")
} else {
if error != nil {
print (error!)
} else {
print("blanks")
}
}
})
}
}
} else {
print(error!)
} })
ようこそSO user7811828。デバッグの助けを求める質問(「なぜこのコードは動作しませんか?」)には、目的の動作、特定の問題またはエラー、および質問自体の中でそれを再現するのに必要な最短コードが含まれていなければなりません。明確な問題文がない質問は、他の読者にとって有用ではありません。参照:最小、完全、および検証可能な例を作成する方法。 https://stackoverflow.com/help/mcve –
要するに、発生したエラーと、提供したサンプルをデバッグしているときに実行した内容について説明します。 ParseとAmazonのカスタムセットアップに誰もアクセスできないと私は確信しています。これは魔法のナンバー3で止まりますか?それとも他のクエリの制限などでうまくいくのですか? –