Se riesco a caricare un oggetto da un file di pennino senza utilizzare il proprietario del file, qual è il motivo dell'esistenza del proprietario del file? Anche le connessioni di uscita-azione possono essere create senza l'uso del proprietario del file. Per esempio posso creare le connessioni direttamente dall'oggetto al pennino. Quindi, ancora una volta non riesco davvero a capire la necessità del proprietario del file. Ha qualche relazione con il pattern MVC? Il proprietario del file deve essere di tipo UIViewController?Quali problemi possono causare l'annullamento del proprietario del file del pennino?
risposta
Durante il caricamento di un file di pennino, Cocoa genera ogni oggetto serializzato nel file pennino. Quindi, per ciascuna connessione nel file pennino, chiama setValue:forKey:
sull'oggetto di destinazione per creare la connessione. Alcune connessioni sono all'oggetto nil
. I messaggi setValue:forKey:
vengono inviati a qualsiasi oggetto viene passato come proprietario del file.
Se non si possiede il proprietario del file, le connessioni nil
verranno ignorate. Se non si dispone di connessioni nil
, non sarebbe diverso dal fatto di non avere un proprietario di file. Questo non è particolarmente comune.
Tutto questo consente di istanziare più istanze degli stessi oggetti del file di pennino, passando diversi proprietari di file al processo di caricamento.
EDIT:
Ricordate, un file pennino è solo un mucchio di oggetti serializzati. Quando si crea un controller di visualizzazione a livello di programmazione con initWithNibName:bundle:
, il controller di visualizzazione esiste già prima del caricamento del file di pennino. Gli oggetti all'interno del file pennino quasi sempre vogliono essere in grado di riferirsi a quel controller di visualizzazione. Quindi passiamo il controller della vista a UINib
come proprietario del file. Ovunque il file pennino dice nil
, UINib
sostituisce quello con il proprietario del file (in genere il controller di visualizzazione).
Questo è molto flessibile, ma la flessibilità non è il punto. Non ci sarebbe alcun modo di fare riferimento al controller della vista all'interno del file del pennino se non lo si è passato durante l'istanza del pennino.
- 1. Connessione del proprietario del file alla visualizzazione del numero
- 2. acquisizione di attributi del proprietario del file/proprietario in Java
- 3. Controllo delle autorizzazioni del proprietario del file
- 4. Cosa descrive meglio il "Proprietario del file" nel pennino obiettivo-c/cacao?
- 5. Finestra del proprietario del blocco Java FX
- 6. Qual è il proprietario del file (nel generatore di interfaccia)?
- 7. Quali sono i problemi del pattern MVVM?
- 8. SWRevealViewCellula del pennino del controllore non in esecuzione segue
- 9. Perché le stringhe mutabili possono causare problemi di sicurezza?
- 10. Cambia proprietario del diagramma del database in SQL Server 2005
- 11. Ottieni il nome del proprietario del DB in PostgreSql
- 12. Come assegnare il proprietario del file quando si utilizza UITableView registerNib: per caricare un UITableViewCell personalizzato dal pennino?
- 13. Quali eventi del ciclo di vita ASP.NET possono essere asincroni?
- 14. Il proprietario del database SID registrato nel database master differisce dal proprietario del database SID
- 15. Come cambiare il proprietario del database PostgreSql?
- 16. Quali problemi risolve un Algoritmo del motore di regole?
- 17. Problemi con l'eredità del STL
- 18. Utilizzando l'id <protocol> per il proprietario del file in Interface Builder?
- 19. . Problemi di incompatibilità del framework.
- 20. Script # e problemi del compilatore
- 21. Problemi nell'implementazione del pattern "Observer"
- 22. Punto nel nome del file?
- 23. Cosa può causare l'arresto anomalo di un'estensione del browser Chrome?
- 24. Problemi di rotazione del bufferImmagine
- 25. Problemi del registro eventi PrototypeJS
- 26. Problemi con larghezza del viewport del 100% in dispositivi mobili?
- 27. Qual è la differenza tra la classe personalizzata e l'impostazione del proprietario del file nel file xib?
- 28. Cosa potrebbe causare il fallimento delle chiamate del sistema Perl?
- 29. con jmx possono causare perdite di thread?
- 30. Linux modifica l'autorizzazione del gruppo per abbinare le autorizzazioni del proprietario
qual è la ragione di avere connessioni a un oggetto nullo? –
"nil oggetto" in IB significa "l'oggetto passato come proprietario file". –
Quindi l'unica ragione di esistenza del proprietario del file è quella di aggiungere più dinamica ai pennini, dandoci la possibilità di cambiarlo durante il processo di caricamento? –