我已經聲明瞭一個全局變量'var recipes = String:PFFile'。 在parse.com上,我創建了一個名爲「recipe」的類型爲File的列,並且我已經上傳了包含食譜的.txt文件。 我想從解析到UITextView加載.txt文件的內容。 我已經嘗試了很多事情,這是我所:無法在UITextView中顯示正確的文件swift
var recipes = [String: PFFile]()
var valueToPass: String!
var valuePassed: String!
var appetizer = [String]()
var images = [String: UIImage]()
override func viewDidLoad() {
super.viewDidLoad()
let query = PFQuery(className: "Appetizers")
query.orderByAscending("recipe")
query.findObjectsInBackgroundWithBlock { (objects, error) in
guard error == nil, let objects = objects else {
print(error)
return
}
for object in objects {
// ... Appetizer Name
let appetizerName = object.objectForKey("appetizer") as! String
self.name.text = self.valuePassed
// ... Recipe
var recipes = [String: String]()
let recipeFile = object["recipe"] as! PFFile
do {
let recipeData = try recipeFile.getData()
let recipe = String(data: recipeData , encoding:NSUTF8StringEncoding)!
print(recipe) // recipe is now a string you can store or display
self.myTextView.text = recipe
} catch {
print("something went wrong")
}
// ... Image
let imageFile = object["imageFiles"] as!PFFile
imageFile.getDataInBackgroundWithBlock({ (imageData, error) -> Void in
if error == nil {
let data = imageData
} else {
print(error)
}
if let data = imageData {
self.images[appetizerName] = UIImage(data: data)
self.imageView.image = self.images[self.valuePassed]
}
})
}
}
}
我能與上面的代碼,但不是我選擇顯示的配方。它以日誌順序打印日誌中的所有配方(但每次都是相同的順序),最後一個是在UITextView中打印的配方。
我似乎無法得到我選擇的那個。
,請複製粘貼你的代碼而不是屏幕截圖。你不顯示這段代碼的上下文 - 你是如何得到'object'的? – Paulw11
這是因爲有更多的一個配方返回解析,並在一個for循環,你將配方設置爲相同的文本字段,所以它將永遠是最後一個將被設置在最後。你在哪裏選擇食譜,以及如何在使用查詢解析時過濾它? –
查詢按升序排序,'valuePassed'是正在選擇的查詢。 – LizG