我有一个来自Parse的对象,我希望将它的列保存到Dictionary或其他什么东西中(如果更好的话)。
我想要一本这样的字典:["name" : "Mike", "lastname" : "vorisis", "id" : "advsas"]
下面是用于获取结果的代码:
func queryEvents() {
let query = PFQuery(className: "eventController")
query.limit = 1000
query.includeKey("idEvent")
query.includeKey("eventType")
query.includeKey("idEvent.idMagazi")
query.findObjectsInBackgroundWithBlock { (objects, error)-> Void in
if let objects = objects {
for object in objects {
var post = object["idEvent"] as? PFObject
var post2 = post!["idMagazi"]
print("retrieved related post: \(post2["name"]!)")
}
}
}
}发布于 2016-07-06 09:47:07
我终于发现了我该怎么做。
我用了一个结构来实现我想要的样子:
var userDictionary = [Int : Event]()
struct Event {
var nameEvent: String
var nameMagazi: String
}然后我用这个:
if let objects = objects {
for object in objects {
let post = object["idEvent"] as? PFObject
let post2 = post!["idMagazi"] as? PFObject
let nameEvent = post!["name"] as! String
let idEvent = post?.objectId
let nameMagazi = post2!["name"] as! String
self.events[self.i] = Event(nameEvent: nameEvent , nameMagazi: nameMagazi)
self.i += 1
}
print(self.events[1]!.nameEvent)
}谢谢大家的回答!
发布于 2016-07-06 09:32:27
在Swift中,Dictionary<T,V>等同于[T: V]。如果未显式声明类型,则推断类型。
空字典创建(全部等效):
var dict1: Dictionary<String, String> = [:]
var dict2: [String: String] = [:]
var dict3 = Dictionary<String, String>()
var dict4 = [String: String]()带有值的字典(全部等效):
var dict5 = ["Foo": "Bar", "Foo1": "Bar1", "Foo2": "Bar2"]
var dict6: Dictionary<String, String> = ["Foo": "Bar", "Foo1": "Bar1", "Foo2": "Bar2"]
var dict7: [String: String] = ["Foo": "Bar", "Foo1": "Bar1", "Foo2": "Bar2"]向现有字典添加值:
dict["Foo"] = "Bar"在您的特定场景中,您可以使用以下内容:
let dict = ["name" : name, "lastname" : lastname , "id" : id]其中name、lastname和id是String变量。
基于your own answer的更新
具有这种结构的:
struct Event {
var nameEvent: String
var nameMagazi: String
}您可以使用这种方法,避免使用外部索引,并使用数组而不是字典来存储结果。
var events: [Event]?
guard let objects = objects else { return }
events = objects.map { object in
let post = object["idEvent"] as? PFObject
let post2 = post!["idMagazi"] as? PFObject
let nameEvent = post!["name"] as! String
let idEvent = post?.objectId
let nameMagazi = post2!["name"] as! String
return Event(nameEvent: nameEvent , nameMagazi: nameMagazi)
}发布于 2016-07-06 08:59:18
创建这样的字典:
var dict = ["name" : "Mike", "lastname" : "vorisis" , "id" : "advsas"]或
var dict = Dictionary<String,String>
dict.setValue("Mike", forKey: "name")https://stackoverflow.com/questions/38219458
复制相似问题