Mi rendo conto di essere un po 'in ritardo, ma la mia soluzione a questo problema era di assicurare che la classe con cui il builder dell'interfaccia stava "trascinando" fosse la stessa della classe in cui si trovava: in altre parole, tutto deve essere nella stessa classe.
Ad esempio, se ho classi A e B e uno storyboard: dovrei assicurarmi che lo storyboard sia impostato su una classe. Se lo impostassi su A , collegherebbe solo gli elementi alla classe A , se imposto la classe su B , provando a connettere elementi alla classe A avresti una riga blu ma nessuna Insert Outlet or Action o Connect Outlet/Action .
Una rappresentazione visiva:
ViewController.swift:
import Cocoa
class FirstClass: NSViewController {
// some code here
}
class SecondClass: NSViewController {
// some more code here
}
Qui abbiamo dichiarato due classi, FirstClass e SecondClass . Se guardi lo storyboard vuoto ( Main.storyboard per lo scopo di questa risposta), dovresti vedere qualcosa di simile al seguente:

OrafaiclicsullafinestrasottoilViewController(vuotosuunnuovoprogetto)eselezionalaschedacheassomigliaunpo'aungiornalenell'Inspector.

Dovrestivederelaclassepredefinita(ViewController)formattatacomestringasegnapostonelcampoditestoper"Class". Il tentativo di Controllo + Trascinamento non ti consentirà di creare un'istanza di qualsiasi elemento che stai tentando di aggiungere a FirstClass o SecondClass , ma consentilo solo per la classe specificata, ViewController (per qualche motivo non riesco a salvarlo)
Per aggiungere un elemento a FirstClass , cambia il testo nel campo Classe in FirstClass (con qualsiasi completamento automatico della fortuna dovrebbe terminarlo per te):
Ora, Control + Il trascinamento di un elemento da Interface Builder su FirstClass dovrebbe funzionare, ma non si applica a SecondClass . Cambia il nome della classe personalizzata in qualsiasi classe si adatti alle tue esigenze.