2014-11-17 68 views
1

我困在这段代码中!我想删除optionals什么是最好的方式来做到这一点? 我试图将AnyObject更改为NSString,但我不知道如何。AnyObject以快速字符串

这样做的最好方法是什么?

而我的第二个问题是我该如何将其存储在核心数据中?有没有一个很酷的框架?

Alamofire.request(.GET, urlDb) 
     .responseJSON { (request, response, json, error) in 
      println(error) 
      //println(json) 

      if let contactGroups : AnyObject! = json{ 
       //println("Contact groepen") 
       var contactGroups = contactGroups["contact_groups"] as NSArray 

       for cG in contactGroups { 
        println(cG["group_id"]!) 
        //println(cG["contact_id"]!) 
       } 
      } 

      if let contacts : AnyObject = json{ 
       //println(contacts["contacts"]) 
       println("Contacten") 
       var contacts = contacts["contacts"] as NSArray 

       for c in contacts{ 
        println(c["id"]) 
        println(c["name"]) 
       } 
      } 
     }  

这是控制台日志

nil 
Optional(1) 
Optional(2) 
Contacten 
Optional(1) 
Optional(Dirk Sierd de Vries) 

我希望你们能帮助我与我的学校项目:d

回答

1

修改环路象下面这样:

for c in contacts { 
    println(c["id"] as NSString) 
    println(c["name"] as NSString) 
} 

说明:

在Swift中,你必须指定对象到特定的类型。如果你不是,它会默认显示Optional关键字。在这里,您的字典键值直接打印在日志中,并且您没有指定存储在字典中的哪种类型的值。

关于保存在核心数据:

没有没有任何很酷的框架,可以将数据保存到核心数据。你需要做你自己。下面的链接最好跟着开始学习这个。

Swift + Core data

+0

现在它打破后的for循环 零 联系groepen 可选(1) 可选(2) Contacten (LLDB) – Nielsvandijkje

+0

对不起没关系!对于数字我只需要使用Int!谢谢@Kampai – Nielsvandijkje