¿Cuál es el propósito de la estructura flags en iOS?

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. ¿Cuál es el propósito de esta estructura?
  2. ¿Qué significa la notación :1 al final de cada línea?
  3. ¿Cuál es el significado del modificador unsigned cuando no hay un tipo explícito?

Gracias

Esos son bitfields . Como la mayoría de estos son indicadores, solo tienen 2 valores posibles, por lo que no es necesario asignar más de 1 bit a cada campo. (con un par de excepciones en esa estructura)

unsigned puede ser independiente como un tipo. Es solo un unsigned int .

Intereting Posts