Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

186
Vistas
Swift: ¿Dónde está NSDragOperationNone?

En Objective-C, puedo devolver NSDragOperationNone desde varios métodos de arrastrar y soltar para indicar que no quiero manejar un arrastre determinado. Esto se enumera explícitamente en los Documentos de Apple para la versión Objective-C de NSDragOperation :

https://developer.apple.com/documentation/appkit/nsdragoperation?language=objc

Sin embargo, si ve esa página para Swift, o si mira la definición de NSDragOperation en los encabezados de Swift de Apple, .none no es una opción.

Entonces... ¿cómo rechazo una operación de arrastre en Swift? En un método como:

 func tableView(_ tableView: NSTableView, validateDrop info: NSDraggingInfo, proposedRow row: Int, proposedDropOperation dropOperation: NSTableView.DropOperation) -> NSDragOperation

NOTA:

1) Estoy tratando explícitamente con AppKit y macOS, no con UIKit o iOS.

2) Me doy cuenta de que puedo NSDragOperation con un valor bruto de 0 , que es el valor dado a NSDragOperationNone en Objective-C, pero eso es frágil. ¿Cuál es la forma Swift de rechazar un arrastre?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Es posible que ya se haya dado cuenta de esto, pero NSDragOperation es una máscara de bits. El valor de cada caso es una potencia de 2, y se supone que debes usar | para enmascararlos en Objective-C.

En Swift, NSDragOperation se conecta para ajustarse a OptionSet y puede usarlos con una sintaxis similar a la de un conjunto como esta:

 let dragOp: NSDragOperation = [.copy, .link]

Entonces, una operación none es solo un conjunto vacío:

 let dragOp: NSDragOperation = []
over 4 years ago · Santiago Trujillo Denunciar

0

Usar []. .none está en desuso. Consulte https://forums.developer.apple.com/thread/65205

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda