let dx = line.frame.midX - other.frame.midX
は、次の例外を生成する:オペレータのSKShapeNodeサブクラスフレーム要素は、UIViewのを参照している代わりにSKNode
あいまい利用 ' - '
ここでは、ライン&他のクラスのオブジェクト型であります宣言:
import Foundation
import SpriteKit
class Line: SKShapeNode {
var plane:Plane!
init(rect: CGRect, plane: Plane) {
super.init()
self.path = CGPathCreateWithRect(rect, nil)
self.plane = plane
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
私はframe
オブジェクトがUIView
の代わりSKNode
にframe
財産に私を取るXcodeで定義(⌘ +クリック)へジャンプ。
正しくサブクラス化していませんか? オペレータ例外のあいまいな使用エラーを取り除くにはどうすればよいですか?
のクラスは何ですか'other'リファレンス? –
@PriceRingo otherはLineクラスのタイプです – sdc
'line'と' other'の両方が 'Line'オブジェクトであり、' Line'と 'UIView'オブジェクトの両方であるかどうかについては説明できません。 'ambiguous'エラーメッセージは、コンパイラが' -'演算子のどちらかの型を解決できないときにスローされます。両方が 'CGFloat'であることを確認してください。それを考え出すための出発点になるでしょう。 –