Interface builder et @Iboutlet
JE729
Membre
Bonjour,
Je suis en train de faire joue joue avec Swift, Xcode 6 et OSX 10.10.
Je n'arrive pas à relié les IBOutlet entre deux objets comme si les types ne correspondaient pas.
J'ai joint un sample, j'aimerais savoir si c'est un bug général ou chez moi de Xcode ou un problème syntaxique.
// La syntaxe est celle-ci
class AppDelegate: NSObject, NSApplicationDelegate {
@IBOutlet var window: NSWindow
@IBOutlet var instance1: Instance1
@IBOutlet var instance2: Instance2
func applicationDidFinishLaunching(aNotification: NSNotification?) {
// Insert code here to initialize your application
}
func applicationWillTerminate(aNotification: NSNotification?) {
// Insert code here to tear down your application
}
}
class Instance1: NSObject {
@IBOutlet var delegate1: AppDelegate?
}
class Instance2: Instance1 {
@IBOutlet var delegate2: AppDelegate?
}
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Je ne travaille pas avec Swift, mais je suis étonné de voir des IBOutlet en "var". J'ai cru comprendre qu'une constante est indiquée "let".
Ne faudrait-il pas faire "let IBOutlet"???
Je viens de vérifier mais non il faut bien utiliser var
Bonne idée comme même
Je viens de tester avec OSX 10.9 et Xcode 6 et le bug est toujours la
C'est donc pas liée à 10.10
Soit c'est Xcode soit la syntaxe
et le ctr + drag marche ?
Oui exactement je les vois mais pas de connexion quand je ctr+drag
Moi qui voulait faire une petite appli avec Swift pour me faire la main ...
Le fait que Instance2 soit une sous-classe de "Instance1" joue peut-être sur le bug, mais ça reste, dans tous les cas, pas logique comme comportement. Soit y'a un bug qqpart (c'est pas exclu, c'est une beta), soit une incompréhension de notre part sur la syntaxe du langage... A creuser.
Et si je rajoutes un "@IBOutlet var mainView: NSView" à ton AppDelegate, j'arrive aussi à le lier à une NSView dans IB sans souci.
Alors que dès que c'est un "Object" dans IB que tu as positionné en drag & droppant le petit cube bleu de la bibliothèque d'objets IB, il a l'air de s'y perdre. En tout cas j'y vois assurément un bug pour ce cas particulier.
par cotre ça marche avec ctr + drag via l'éditeur assistant ( génération des Outlets directement à travers interface builder).