2010-12-23 11 views
1

Ich habe eine benutzerdefinierte Klasse für mein iPhone-Projekt erstellt. Eine der Eigenschaften dieser Klasse ist ein int, und ich möchte dieser Eigenschaft nur eine Handvoll Werte zuweisen können. Ich mag die Art und Weise, wie Cocoa dies mit vielen seiner eigenen Klassen tut, wie zum Beispiel fox, und legt den Zellenauswahlstil in einer UITableView fest. Ich würde das gerne in meiner eigenen Klasse umsetzen.Benutzerdefinierte Klassenkonstanten

Ich habe die Header für einige Klassen von Cocoa geöffnet und eine Reihe von typedef enums gefunden, bin aber neu bei objective-c Ich konnte nicht recht herausfinden, wie man sie für das macht, was ich machen wollte (oder sogar wo man diese setzt).

typedef enum { 
    UITableViewCellSelectionStyleNone, 
    UITableViewCellSelectionStyleBlue, 
    UITableViewCellSelectionStyleGray 
} UITableViewCellSelectionStyle; 

So zu rekapitulieren ... wie gerade in Cocoa würden Sie tun:

cell.accessoryType = UITableViewCellAccessoryNone; 

Ich mag würde das Gleiche mit meiner eigenen Klasse zu tun:

myObject.myProperty = MyObjectMyPropertySomeValue; 

Jede Hilfe wird sehr geschätzt.

Antwort

3

eine ENUM erklären alle die verschiedenen Optionen enthalten und benennen Sie es:

typedef enum { 
    MyObjectMyPropertySomeValue, 
    MyObjectMyPropertySomeOtherValue, 
    MyObjectMyPropertySomeThirdValue 
} MyObjectMyPropertyValues; 

Dann in Ihrem Code,

@property (nonatomic, assign, readwrite) MyObjectMyPropertyValues myProperty; 

Ich nehme an, dass Sie den Rest herausfinden können - es ist ziemlich Standard .

Eingetragen in Bowser ohne getestet zu werden.

+0

Funktioniert wie ein Charme! Vielen Dank! – Julian

Verwandte Themen