Appleのドキュメントには、関数random
が返すと書かれています
オブジェクト (ランダムな
NSNumber
整数値)
次の 2 行のコードを実行した後:
let expression = NSExpression(forFunction: "random", arguments: [])
let value: AnyObject = expression.expressionValueWithObject(nil, context: nil)
私が得たのは、0.312047983519733 などの 0 から 1 までの数値です。
Functionrandom:
に関しては、ドキュメントはそれが返すと言っています
NSNumber
オブジェクト (0 と配列内の値の間のランダムな整数値 (排他的) )
ドキュメントに従って使用しようとしました(NSArray
数値を表す1つの NSExpression オブジェクトを含むオブジェクトであるパラメーターを取ります):
let expression = NSExpression(forFunction: "random:", arguments: [NSExpression(forConstantValue: 100)]) // The compiler says "Execution was interrupted, reason: signal SIGABRT"
let value: AnyObject = expression.expressionValueWithObject(nil, context: nil)
最初の行はコンパイルに合格することさえできません。コンソールには、「キャッチされていない例外 'NSInternalInconsistencyException' が原因でアプリを終了しています。理由: 'ランダム: はサポートされているメソッドではありません。' と表示されます。"
何が問題なのかわからない。のすべての機能を試しましたが
、とinit(forFunction:arguments:)
を除いてすべてドキュメントに記載されているとおりに機能しました。random
random: