1
NSObjectProtocolの実行セレクタ関数を呼び出して戻り値を取得しようとすると、クラッシュするのはなぜですか?誰でも私を助けることができますか?どうも。Swift 3でNSObjectProtocolクラッシュの実行セレクタ関数を使用
class Convert: NSObject {
func value(_ value: CGFloat, from srcUnit: DWUnitType, to dstUnit: DWUnitType) {
let selector = Selector("_centimeterToMillimeter:")
let newValue = perform(selector, with: value).takeUnretainedValue() as? CGFloat
print(newValue)
}
func _centimeterToMillimeter(_ value: CGFloat) -> CGFloat {
return value * 10.0
}
}
メソッドを直接呼び出すのではなく、 'perform(selector')を呼び出す目的は何ですか?また、メソッドが実際には非オプションのCGFloatを返す間に戻り値がオプションにキャストされるのはなぜですか? – vadian