Cosa sono il proprietario del file e il primo risponditore in iOS - Xcode?


Risposte:


170

Il proprietario del file è un oggetto runtime istanziato che possiede il contenuto del pennino e le sue uscite / azioni quando il pennino viene caricato. Può essere un'istanza di qualsiasi classe ti piaccia: dai un'occhiata alla scheda Identità della tavolozza degli strumenti.

File Owner è il collegamento principale tra il codice dell'applicazione e il contenuto del file pennino.

Ad esempio, considera di avere una sottoclasse UIViewController con un IBOutlet per un UILabel. Nel generatore di interfacce il proprietario del file verrà impostato sulla stessa classe del tuo UIViewController. Quando il pennino viene caricato in fase di runtime, le associazioni di prese e azioni definite nel pennino sono vincolate all'istanza del controller di visualizzazione, poiché il controller di visualizzazione è il proprietario.

I pennini vengono caricati utilizzando:

[[NSBundle mainBundle] loadNibNamed:@"NibName" owner:nil options:nil];

Il parametro proprietario è particolarmente importante. Questa è l'istanza di runtime di una classe che possiede i contenuti (punti vendita, azioni e oggetti) del pennino che viene caricato.

Si spera che sia chiaro. Per vederlo all'opera, crea un nuovissimo progetto iPhone con un controller di visualizzazione. Apri il file Pennino e dai un'occhiata alla scheda Identità.

Il primo risponditore è semplicemente il primo oggetto nella catena del risponditore che può rispondere agli eventi. La catena di risponditori è una raccolta di runtime (o più precisamente una gerarchia) di oggetti che possono rispondere a un evento. Ad esempio, considera di avere una finestra con una vista e su quella vista c'è un campo di testo.

Se quel campo di testo è attivo, è noto come il primo risponditore della catena. Quindi, se invii un messaggio al primo risponditore, verrà inviato prima al campo di testo. Se il campo di testo non è in grado di gestire il messaggio, verrà inviato al risponditore successivo . E il prossimo. E il prossimo, fino ad arrivare alla fine della catena del risponditore o qualcosa ha consumato l'evento (iirc).

Vale la pena leggere la catena di risponditori: per ulteriori informazioni, visita la documentazione di Apple.


1
@dannywartnaby: descrizione dettagliata !! +1
Jayprakash Dubey

1
ottima spiegazione!
TMin
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.