2015-04-29 87 views
3

近期雨燕更新後,我一直在試圖登場的幾行代碼,似乎沒有要理解什麼是錯的..解析斯威夫特更新錯誤

的線是

PFGeoPoint.geoPointForCurrentLocationInBackground { 

與錯誤消息「不能調用‘geoPointForCurrentLocationInBackground’類型的參數列表「((PFGeoPoint」,NSError) - >無效)「'

第二行是

PFUser.logInWithUsernameInBackground(username:usernameTextField.text, password:passwordTextField.text, target: self) { 

隨着「呼叫額外的參數‘目標’」

我試過網上找和調試這些錯誤,但老實說,我不知道發生了什麼事情。這似乎是在解析代碼中的錯誤,我不知道爲什麼這是...

編輯:我修正了我有第二個錯誤。代碼:

PFUser.logInWithUsernameInBackground(usernameTextField.text, password:passwordTextField.text) { 

回答

2

從Swift 1.2開始,Failable Casts被引入。您可以使用PFGeoPoint.geoPointForCurrentLocationInBackground方法如下所示:

如果你是很肯定的向下轉換會成功,你可以使用as!強制投:

PFGeoPoint.geoPointForCurrentLocationInBackground { 
    (point:PFGeoPoint!, error:NSError!) -> Void in 
    if (error == nil) { 
     println(point) 
    } else { 
     println(error) 
    }    
} 

如果你不知道,如果鑄造將成功,只需使用as?操作員即可。通過使用as?,它返回一個可選值,但是在向下轉換失敗的情況下,值將爲零。

PFGeoPoint.geoPointForCurrentLocationInBackground { 
    (point:PFGeoPoint?, error:NSError!) -> Void in 
    if (error == nil) { 
     if let myPoint = point { 
      println(myPoint) 
     } 
    } else { 
     println(error) 
    }   
} 
+0

@JakeOls,我的答案能解決您的問題嗎? – ztan

+0

對不起,剛看到它!謝謝! –