2
Swift 3.0移行ガイドの型キャストの変更については何も見つかりません。しかし、私はいくつかの発行につまずいた。 (BTW Xcodeでコンパイルにスイフトの7.3.1バージョンをdoesntの)Swift 3.0のキャスティング
var data1: AnyObject?
var data2: AnyObject?
var data3: AnyObject?
var tmpAny: Any?
var tmpString = "Hello!"
tmpAny = tmpString
data1 = tmpAny as AnyObject
data2 = tmpAny as AnyObject?
data3 = tmpAny as? AnyObject // Warning "Conditional cast from 'Any?' to 'AnyObject' always succeeds
print(type(of: data1))
print(type(of: data1!))
print()
print(type(of: data2))
print(type(of: data2!))
print()
print(type(of: data3))
print(type(of: data3!))
それが印刷:スイフト3.0で
Optional<AnyObject>
_SwiftValue
Optional<AnyObject>
_NSContiguousString
Optional<AnyObject>
_SwiftValue
この遊び場を考えます。
主に、tmpAny as AnyObject
とtmpAny as AnyObject?
の違いは何ですか?
単純に変更してください:** tmpAny AnyObject ** and Warning gone –