2017-07-20 5 views
0

を与えます。しかしswift buildを使用してLinuxでそれを構築することは、エラーを生成します。使用して '任意' と 'ANYOBJECT' タイプは、私はこのコード行を持ってエラーに

/home/ubuntu/x/x/objects.swift:x:x: error: 'Any' is not convertible to 'AnyObject'; did you mean to use 'as!' to force downcast? 

produceJSONMessage(message: message as AnyObject) 

だから私はproduceJSONMessage(message: message as! AnyObject)を使用することによって、その助言に従いました。とにかく、私はそれがでエラーをスロー構築しないようになった

Could not cast value of type 'Any' (0x9aab88) to 'Swift.AnyObject' (0x7f7c84007c88).

produceJSONMessage(message: message as? AnyObject)

新しいそれは、ビルド時にエラーになりませんが、それはして実行時にクラッシュします問題は、関数がオブジェクトを受け取ったとき、常にnil(関数に入る前にnilではない)です。いずれのタイプまたはプレーン文字列私はここのノートを取る必要があり

何か:messageは通常の文字列のある

func produceJSONMessage(message: AnyObject? = nil)

:これは、関数のシグネチャのですか?投稿したコードのすべての組み合わせは、Mac XCodeで正常に動作します。

答えて

0

私は上記のコードからAnyObjectを取り除き、Anyに置き換えて動作させました。たぶん私はAnyObjectタイプを悪用しましたが、それはMacではOKですが、Linuxではうまく構築できませんでした!

関連する問題