Domanda

Questo è meno di una domanda specifica per il codice e più di una questione nomenclatura Objective-C. In C si ha struct per i dati puri. In Enterprise Java, si dispone di classi "fagiolo" che sono puramente variabili membro con getter e setter, ma nessuna logica di business. In Adobe Flex, si dispone di "oggetti di valore".

In Objective-C, c'è un nome proprio per un oggetto (discendente da NSObject, naturalmente) che ha semplicemente ivars e getter / setter (o @ proprietà / @ sintetizzare, se si vuole ottenere fantasia) e nessun vero logica di business?

Un esempio più concreto potrebbe essere una semplice classe con getter e setter per nome del file, dimensione del file, la descrizione e altri metadati assortiti. Si potrebbe quindi prendere un po 'di questi e facilmente gettare in un contenitore (NSDictionary, NSArray) senza la necessità di disordinato NSValue avvolgimento di una struct C. E 'anche una struttura poco più di mettere, per esempio, un gruppo di bambini NSDictionaries loosely-digitato in un oggetto contenitore padre.

È stato utile?

Soluzione

No, non c'è nessun nome speciale (almeno per quanto ne so). Tutti Objective-C oggetti che ereditano da NSObject sono oggetti di prima classe. È possibile implementare naturalmente classi con solo getter e setter, ma anche le proprietà sintetizzate avere "business logic" mite per atomicità e la gestione della memoria. È possibile utilizzare le strutture C per i dati puri, se si desidera (un esempio in cacao è NSRect), ma poi, come dici tu, è più difficile da usare con le altre classi, come NSDictionary.

Altri suggerimenti

Non v'è alcun nome ufficiale per tale classe una in Objective-C. Le persone tendono a fare riferimento a cose come "oggetti di valore" o "oggetti dati puri", ma entrambi questi sono una specie di sovraccarico in quanto potrebbero anche essere prese per riferirsi a NSValue (o, in alternativa, un valore di elenco di proprietà) e sottoclassi NSData. Quest'ultimo è il modo più conciso di descrivere loro, credo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top