2016-04-29 13 views
1

Ich fange an, Objective-C zu lernen und ich möchte eine einfache Personenklasse mit Name, Foto, Adresse (Hausnummer, Straßenname, Postleitzahl, Stadt), Telefon erstellen.Erstellen einer Personenklasse mit Objective-C

Ich bin nicht sicher, ob ich NSArray oder NSDictionary für das Adressattribut verwenden muss. Ich habe bereits eine Klasse Person und ich legte meinen Code in Person.h

@property (nonatomic, copy) NSString *name; 
@property (nonatomic, copy) NSString *photo; 
@property (nonatomic, copy) NSString *address; 
@property (nonatomic, copy) NSArray *phone; 
+2

Nein @ user4261201 Erstellen Sie eine andere benutzerdefinierte Modellklasse – Wain

Antwort

7

Die Adresse sollte nicht ein NSArray oder NSDictionary sein. Es sollte eine weitere benutzerdefinierte Klasse Address sein. Diese Klasse sollte dann seine eigenen Attribute für house number, street name, postal code, city, country usw.

Wenn Sie eine Person mehr als eine Adresse haben, dann sollten address ein Wörterbuch sein, wo die Tasten sind Etiketten für jeden Adresse und die Werte sind Instanz von Address.

Ihre Eigenschaft phone sollte auch ein Wörterbuch sein, wenn Sie mehr als eine Telefonnummer pro Person unterstützen möchten.

Sie sollten sich die CNContact und verwandte Klassen für Beispiele ansehen, wie Apple es tut.

+0

Dies ist die beste Lösung. Meine Lösung unten ist lockerer gebunden und gibt der Adresse als Entität keine angemessene Struktur. –

+0

Danke, ich werde das versuchen und Sie wissen lassen, ob es funktioniert :) –

+0

Sollte es eine Unterklasse von NSObject oder Person sein? –

Verwandte Themen