Arrays 获取、存储和访问Parse.com中的自定义数据数组
我正在编写一些代码,其中我有一个Arrays 获取、存储和访问Parse.com中的自定义数据数组,arrays,swift,parse-platform,Arrays,Swift,Parse Platform,我正在编写一些代码,其中我有一个Food对象,我有一个Food对象数组:var list:[Food]=[](这行代码在开始时被称为全局变量)我有几行代码在解析中生成一个数组,但我不确定它是否工作,它仍然表示“未定义”在解析中,它应该是食物对象数组。我的问题很简单 1-如何在Parse.com中制作食物对象数组 2-如何从该数组中获取信息并使parse数组成为局部变量 3-如何附加该数组,我知道我可以直接调用.append(customFoodObject)到本地数组,我应该这样做吗 4-编辑完
Food
对象,我有一个Food
对象数组:var list:[Food]=[]
(这行代码在开始时被称为全局变量)我有几行代码在解析中生成一个数组,但我不确定它是否工作,它仍然表示“未定义”在解析中,它应该是食物
对象数组。我的问题很简单
1-如何在Parse.com中制作食物
对象数组
2-如何从该数组中获取信息并使parse数组成为局部变量
3-如何附加该数组,我知道我可以直接调用.append(customFoodObject)
到本地数组,我应该这样做吗
4-编辑完数组后,如何将其保存回解析
:就这4个问题,我被告知很多答案,比如“只使用查询”或“创建新对象”,但我给出了实际对象的名称,因为如果您给出代码,我可以看到它的工作原理,然后理解它的工作原理,我将不胜感激;提前感谢您的帮助。无论如何,这些问题需要大量的手稿,尽管如此,我还是会尽可能用一些解释和代码片段来回答您的问题 对象包含类似的内容,因此它们将是数据库表中的一行。毕竟,Parse是一个糖衣足食的数据库API。所以一个对象将被映射到Parse中的一个类,或者特别是Food类型的类的一行
let food = PFObject(className: "Food")
food["name"] = "Sushi Pizza"
food["price"] = "1100¥"
//saves on the server even if the networks fails now
//caches the result offline and when the phone enters in network it uploads
food.saveEventually(nil)
let foodClassName = "Food"
for index in foods!{
let object = PFObject(className: foodClassName)
object["name"] = index.name
object["price"] = index.price
object.saveEventually(nil)
}
基本上,您可以使用类名创建一个食物表,然后插入类似的对象并保存它
let query = PFQuery(className: foodClassName)
//query.fromLocalDatastore() //uncomment to query from the offline store
query.findObjectsInBackgroundWithBlock { (objects, error) -> Void in
if error == nil && objects != nil{
for index in objects!{
(index as! PFObject).pin() //pining saves the object in offline parse db
//the offline parse db is created automatically
self.makeLocalVariable(index as! PFObject) //this makes the local food object
}
}
}
var localFoods:[Food]? //global scoped variable
func makeLocalVariable(index:PFObject){
let foodname = index.objectForKey("name") as! String
let price = index.objectForKey("price") as! String //we had the currrecny saved too
let foodObj = Food(name: foodname, price: price)
localFoods?.append(foodObj)
}
let queryEdit = PFQuery(className: foodClassName)
queryEdit.whereKey("name", equalTo: "Pizza")
query.findObjectsInBackgroundWithBlock { (objects, error) -> Void in
if error == nil && objects != nil{
if objects!.count == 0{
//edit
let obj = (objects as! [PFObject]).first!
obj.setValue("2340¥", forKey: "price")
//save it back
obj.saveEventually(nil)
}
}
}
我希望我回答了你的问题。请记住,对象可以映射到解析中的类、关系数据库中的表或实体。然后该表可以有许多类似的实例,可以说它们是一种类型的数组
如果我能帮你更多,请告诉我。干杯
本例中的Food只是一个结构,但如果它具有功能,则很容易成为一个类
struct Food{
var name:String?
var price:String?
}
嗯,我为对象创建了一个seperate类,现在我将使用一个查询从parse中获取信息?另外,我希望对象food数组是特定于用户的,我已经有了一个用户类,我可以将对象保存给用户吗?或者我必须创建一个不同的类吗?通过在数据库中的食物表中引用一个id,可以实现特定于用户的食物对象。从数据库关系的角度考虑。userid | username | password现在对于食物你会有类似于foodid | userid | name | price的东西。用户ID会给你一个与食物相关的用户的参考。老兄,当我这么说的时候,你还会收到通知吗?如果你看到了,我对提供的信息有一个小问题。我想知道如何更改或编辑一个pfobject,然后将其发送回,但不进行轻微更改以复制