1
NSControlTextEditingDelegate 프로토콜을 구현 중이며 어떤 클래스/프로토콜 중 하나와 일치해야하는지 모르겠습니다. commandSelector. #selector (WhichClass.moveUp (_ :)) 그러면 평등이 통과됩니다.신속하게 NSResponder 선택기를 업데이트하는 방법 2.2
현재의 모든 SWIFT 2.1 괜찮 : 당신이 원하는 경우
가if (commandSelector == #selector(NSResponder.moveUp) ||
당신은 다음과 같이 쓸 수 있습니다 :
func control(control: NSControl, textView: NSTextView, doCommandBySelector commandSelector: Selector) -> Bool {
var goUp = false
var goDown = false
if (commandSelector == Selector("moveUp:") ||
commandSelector == Selector("moveBackward:") ||
commandSelector == Selector("moveUpAndModifySelection:") ||
commandSelector == Selector("moveParagraphBackwardAndModifySelection:")
)
{
goUp = true
}
if (commandSelector == Selector("moveDown:") ||
commandSelector == Selector("moveForward:") ||
commandSelector == Selector("moveDownAndModifySelection:") ||
commandSelector == Selector("moveParagraphForwardAndModifySelection:")
) {
goDown = true
}
//...
}
답변 해 주셔서 감사합니다. 평등에 대해 걱정할 필요가 없습니까? –
@MarekH, 쉽게 확인할 수 있습니다. '#selector (MyProtocol.moveUp (_ :)) == #selector (NSResponder.moveUp)'는 true를 반환합니다. Objective-C 표기법 (예 : "moveUp :")이 같으면 두 개의 선택기가 동일합니다. 걱정마. – OOPer