2017-02-05 7 views
-1

AWS DynamoDBフレームワークに問題があります。 XCodeのは、次の行に警告私を与えている:Objective-Cのリテラルの使用は、AWSのDynamoDBフレームワークで廃止されました。

var model: AWSDynamoDBObjectModel {get set} 

// This lines gives me "Use of literal for Objective-C ... 
if (model.classForCoder.respondsToSelector("rangeKeyAttribute")) { 
..... 
} 

私はこのラインでrepeleacingすることにより、その問題を解決しようとした:

if (model.classForCoder.respondsToSelector(Selector("rangeKeyAttribute"))) { 

とセレクタもスウィフト2.3で減価償却されるようです。

どのようにこの警告を取り除くことをお考えですか?

+0

まずAWSの最新フレームワークバージョンに更新しましたか?最新のXcodeなどがありますか? –

+0

AmazonはSwift 3のアップデートをまだリリースしていません。 – user30646

+0

ok?だから...... AWS最新のフレームワークのバージョンに更新しましたか?最新のXcodeなどがありますか?ここで確認してください:http://stackoverflow.com/questions/41402926/lots-of-errors-when-trying-to-use-aws-dynamodb-with-swift-3 and here http://stackoverflow.com/questions/ 41868921/can-call-value-of-non-function-type-selector-bool-sw-converting-swi –

答えて

0

#selector構文を使用してください。それは現代的な方法です。

+1

http://www.apeth.com/swiftBook/ch02.html#_selectors – matt

+0

私は#selectorを使用する適切な方法がわかりませんが、respondsToSelectorが必要とする値を返さないようです。それは私に "非関数型(セレクタ) - > Bool"の値を呼び出すことはできません。 – user30646

+0

"'#selector'を使うにはどうすればよいか分かりません。 "しかし、私があなたに与えたリンクは、あなたが正しい方法であなたに伝えます。 – matt

関連する問題