0

私はコーディングの初心者です。Swift 1.2 の更新前は、セグエの作成に問題はありませんでした。Cannot assign a value of type 'PFObject' to a value of type 'PFObject?'以下のコードを試すと、エラーが発生します。誰でもこれを理解するのを手伝ってもらえますか?

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifier == "PushToDetails" {

    // Get the new view controller using [segue destinationViewController].
    var detailScene = segue.destinationViewController as! DetailViewController

    // Pass the selected object to the destination view controller.
    if let indexPath = self.tableView.indexPathForSelectedRow() {
        let row = Int(indexPath.row)

        detailScene.currentObject = objects[row] as! PFObject
        }
    }
}
4

1 に答える 1

1

あなたのPFObjectエラーによると、 typeの値を type の値に割り当てることはできませんPFObject!PFObjectとの違いがわかりPFObject!ますか?

  • PFObject!のタイプだからですOptional。と のようStringに、String!タイプが異なります。
  • あなたが書いたようにdetailScene.currentObject = objects[row] as! PFObject、あなたがそれをチェックすればおそらくタイプであり、それがcurrentObjectタイプにつながります。OptionaldetailScene.currentObjectOptional
  • その後objects[row]PFObjectタイプを にタイプにdetailScene.currentObject割り当てますPFObject!


このようにコードを修正できるかもしれませんが、

    detailScene.currentObject! = objects[row] as! PFObject

タイプにアンラップしcurrentObjectましたPFObject

于 2015-04-19T03:00:37.747 に答える