Question

Ceci est moins d'une question spécifique au code et plus d'une nomenclature Objective-C question. En C, vous avez struct pour les données pures. Dans Java Enterprise, vous avez « haricot » classes qui sont purement variables membres avec des accesseurs, mais pas la logique métier. Dans Adobe FLEX, vous avez « Valeur d'objets ».

Dans Objective-C, est-il un nom propre d'un objet (descendu de NSObject, bien sûr) qui a simplement Ivars et getters / setters (ou @ propriété / @ synthétisent, si vous voulez obtenir la fantaisie) et aucun réel la logique métier?

Un exemple plus concret pourrait être une simple classe avec accesseurs pour nom de fichier, la taille du fichier, la description et un assortiment d'autres métadonnées. Vous pouvez ensuite prendre un tas de ces derniers et facilement les jeter dans un récipient (NSDictionary, NSArray) sans qu'il soit nécessaire pour l'emballage NSValue de désordre d'une struct C. Il est également une structure peu plus que de mettre, par exemple, un groupe de NSDictionaries enfant vaguement typé dans un objet conteneur parent.

Était-ce utile?

La solution

Non, il n'y a pas de nom particulier (au moins autant que je sache). Tous les objets Objective-C qui héritent de NSObject sont des objets de première classe. Vous pouvez mettre en œuvre des cours des classes avec seulement accesseurs, mais les propriétés ont même obtenus par synthèse « logique métier » doux pour atomicité et la gestion de la mémoire. Vous pouvez utiliser C struct pour les données pures si vous voulez (un exemple à Cocoa est NSRect), mais, comme vous le dites, il est plus difficile d'utiliser avec d'autres classes telles que NSDictionary.

Autres conseils

Il n'y a pas de nom officiel pour une telle classe en Objective-C. Les gens ont tendance à se référer à des choses telles que des « objets de valeur » ou « objets de données pures », mais ces deux sont un peu débordés car ils pourraient également être prises pour se référer à NSValue (ou bien, une valeur de liste de propriétés) et les sous-classes NSData. Ce dernier est la façon la plus concise de les décrire, je pense.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top