2010-01-18 10 views
6

Vorrei attivare la voce di menu di file aperti in grigio in un'applicazione non basata su documenti. Le applicazioni basate su documenti ti danno automaticamente una bella finestra di dialogo aperta con filtri di estensione file basati su voci plist etc ... Sicuramente, esiste un semplice metodo elegante per riattivare questa funzionalità.Abilitazione della voce di menu Apri file in un'applicazione non basata su documenti

ho ...

  1. Aggiunto tipi di documenti alla finestra di proprietà del progetto
  2. Assegnato mia classe controller come l'applicazione delegato
  3. Aggiunto l'applicazione delegato: openFile: al mio classe controller

risposta

3

La chiave è che qualcosa lungo la catena di risposta del menu voce deve rispondere all'azione -openDocument:. Normalmente è lo NSDocumentController. Darei un'occhiata a come un'applicazione vuota basata su documenti imposta quella voce di menu.

+1

È collegato al primo risponditore in MainMenu.xib. Dovrebbe anche essere collegato al MainMenu.xib del modello di app non basato su documenti. In caso contrario, collegalo, quindi entra nella catena di risposta e rispondi a 'openDocument:'. –

3

Innanzitutto, assicurarsi che il selettore File-> Apri menu sia collegato all'azione openDocument: del Primo risponditore.

In secondo luogo, assicurati di rispondere all'azione. Dai un'occhiata allo . Qualsiasi oggetto all'interno della catena di risposta può rispondere al messaggio, ma è meglio scegliere l'oggetto che è il più capace e appropriato. Una volta che hai deciso quale classe nella tua catena di risposta è la più appropriata per gestire il messaggio, aggiungi l'azione openDocument: alla sua implementazione e scrivi il tuo codice per rispondere di conseguenza.

Problemi correlati