2011-10-27 10 views
5
struct 
{ 
    unsigned resizesCellWidths:1; 
    unsigned numColumns:6; 
    unsigned separatorStyle:3; 
    unsigned allowsSelection:1; 
    unsigned backgroundViewExtendsUp:1; 
    unsigned backgroundViewExtendsDown:1; 
    unsigned usesPagedHorizontalScrolling:1; 
    unsigned updating:1; 
    unsigned ignoreTouchSelect:1; 
    unsigned needsReload:1; 
    unsigned allCellsNeedLayout:1; 
    unsigned isRotating:1; 
    unsigned clipsContentWidthToBounds:1; 
    unsigned isAnimatingUpdates:1; 
    unsigned requiresSelection:1; 
    unsigned contentSizeFillsBounds:1; 
    unsigned delegateWillDisplayCell:1; 
    unsigned delegateWillSelectItem:1; 
    unsigned delegateWillSelectItemMultiTouch:1; 
    unsigned delegateWillDeselectItem:1; 
    unsigned delegateDidSelectItem:1; 
    unsigned delegateDidSelectItemMultiTouch:1; 
    unsigned delegateDidDeselectItem:1; 
    unsigned delegateGestureRecognizerActivated:1; 
    unsigned delegateAdjustGridCellFrame:1; 
    unsigned delegateDidEndUpdateAnimation:1; 
    unsigned dataSourceGridCellSize:1; 
    unsigned int isEditing:1; 
    unsigned __RESERVED__:1; 
} _flags; 
  1. この構造体の目的は何ですか?
  2. 各行の末尾の:1の表記は何を意味していますか?
  3. 明示的な型がない場合、unsigned修飾子の意味はなんですか?

おかげiOSのflags構造体の目的は何ですか?

+1

特に指定しない限り、 'unsigned'は' unsigned int'であることを意味します。 –

答えて

5

ものはbitfieldsです。これらのほとんどはフラグであるため、2つの値しか持てないため、各フィールドに1ビット以上を割り当てる必要はありません。 (その構造体には2つの例外があります)

unsignedは型として単独で使用できます。それはちょうどunsigned intです。

関連する問題