":" Operator zuweisen Integer

stimmen
0

Ich war bei der Suche UIViewControllerHeader in Xcode, und ich sah etwas , das ich noch nie zuvor erlebt haben. Es wurde in einer Anlage struct, so dass ich davon ausgehen , es eine Membervariable war, aber die Art und Weise zugewiesen wurde , war mir neu. Hier verkürzte Version (die struct47 Zeilen).

struct {
    unsigned int appearState:2;
    unsigned int isEditing:1;
    unsigned int isPerformingModalTransition:1;
    unsigned int hidesBottomBarWhenPushed:1;
    unsigned int autoresizesArchivedViewToFullSize:1;
    // many more : assignments
} _viewControllerFlags;

Könnte jemand etwas Licht auf, was :tut? Ist es wie die C ++ Variablendeklaration Syntax ( bool b(true);) oder etwas ganz anderes? Möglicherweise einige Referenz - Typ wie *und &.

Veröffentlicht am 05/05/2014 um 04:49
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
2

Die ‚:‘ ermöglicht die Zuordnung (und spätere Referenz) einzelner Bits des gleichen (unsigned int).

appearState gets 2 bits,

Daher 'appearState' können Werte enthalten: 0, 1, 2 oder 3 nur.

isEditing gets 1 bit,

‚IsEditing‘ können Werte enthalten: 0 oder 1 ist nur.

...etc.
Beantwortet am 05/05/2014 um 04:52
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more