Ios Swift |将nil赋值给字符串

Ios Swift |将nil赋值给字符串,ios,swift,parse-platform,Ios,Swift,Parse Platform,我正在使用Parse.com编写一个应用程序 func getContactsWithComplition(closure:() -> ()) { contactArray=[]; if (PFUser.currentUser() != nil) { var realtion: PFRelation=PFUser.currentUser()["contactsOfUser"] as PFRelation; var query: PFQ

我正在使用Parse.com编写一个应用程序

func getContactsWithComplition(closure:() -> ())
{
    contactArray=[];
    if (PFUser.currentUser() != nil)
    {
        var realtion: PFRelation=PFUser.currentUser()["contactsOfUser"] as PFRelation;
        var query: PFQuery=realtion.query() as PFQuery;
        query.findObjectsInBackgroundWithBlock({ (contactsArray:[AnyObject]! , error:NSError!) -> Void in
         if(error == nil)
         {

            for aContact in contactsArray
            {
            var cont=contact(phone: aContact["phoneNumber"] as String, firstName: aContact["name"] as String, lastName: aContact["familyName"] as String, adress: aContact["adress"] as String, email: aContact["email"] as String, role: aContact["role"] as String, note: aContact["note"] as String)
                contactArray.append(cont)

            }
            closure()

         }
        else
         {
            println(error);
            }
        })


    }
    else
    {
        println("suck")
    }
}
当其中一个部分的值未定义时,它返回nil,不能作为字符串引用。

我怎样才能解决这个问题呢?

假设你所说的部分是指姓名、电话号码等

如果要在不存在值的情况下替换默认值,可以使用nil合并运算符:

//  assuming empty string is a reasonable substitute
let number = aContact["phoneNumber"] as? String ?? ""
请注意与
一起使用的
as?
-这样,如果值不是字符串,它将正常失败(事实上,从Swift 1.2开始,您将被迫以这种方式使用
as

根据您运行的Swift版本的不同,您可能需要调整参数来确定
的优先级

另外,如果您运行的是Swift 1.2,您可能会取消前面的一些可选检查,如:

if let user = PFUser.currentUser(),
       relation = user["contactsOfUser"] as? PFRelation,
       query = relation.query() as? PFQuery
{
    query.findObjectsInBackgroundWithBlock { contactsArray, error in
        if let err = error {
            println(err)
        }
        else {
          // etc
        }
    }
}

非常感谢,我几天前才开始学习swift,我只是尝试编写代码而不使用任何文档,看看这对我来说有多容易,我稍后将学习完整的文档