苹果的文件说函数random
返回
一个
NSNumber
对象(一个随机整数值)
运行这两行代码后:
let expression = NSExpression(forFunction: "random", arguments: [])
let value: AnyObject = expression.expressionValueWithObject(nil, context: nil)
我得到的是一个介于 0 和 1 之间的数字,例如 0.312047983519733。
至于 Function random:
,文档说它返回
一个
NSNumber
对象(一个介于 0 和数组中的值之间的随机整数值(不包括))
我尝试根据文档使用它(取一个参数,该参数是一个NSArray
包含一个表示数字的 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: