

delegate側  
`var id:Int?`

色々なコード  
`appdelegate.id = self.data[indexPath.row]["id"] as Int`

APIからとってきた大切なデータをdelegateに保存したいのですが  
`Cannot assign a value of type Int to a value of type Int?`  
と出てしまいます。

他にもNameを保存したいコードだとstringなので  
`Cannot assign a value of type String to a value of type String?`

と出てしまいます。

xcode7にしてから出てきたエラーなので対処方法がわかりません。  
宜しくお願いします


CC BY-SA 3.0
2015-07-09T01:56:24.017
12177
2015-09-07T04:13:08.910
7950
question
ios swift xcode
xcode7にしてCannot assign a value of typeでエラーが出ます


> xcode7にしてから出てきたエラーなので対処方法がわかりません。

Xcode 6.3から変更になっている部分、Swiftのバージョンでいうと1.2からの変更です。Appleの公開文書に、直接あたってください。

[Swift Blog](https://developer.apple.com/swift/blog/) Feb 18, 2015

Swift 1.2よりダウンキャストの書式が変更になりました。Optional型へのダウンキャストは、「as」から「as?」になります。

[code]

    appdelegate.id = self.data[indexPath.row]["id"] as Int
    
[/code]

これは

[code]

    appdelegate.id = self.data[indexPath.row]["id"] as? Int
    
[/code]

とすれば、エラー表示が出なくなるはずです。


CC BY-SA 3.0
2015-07-09T02:18:11.077
12179
2015-07-09T02:18:11.077
7362
12177
answer