Почему я не могу получить доступ к значению этого указателя. Цель с - PullRequest
1 голос
/ 07 марта 2019

Я хочу получить доступ к YGNodeRef node в параметрах функции RCTMeasure.Это из файлов йоги в реактивном родном, RCTShadowText.m

static YGSize RCTMeasure(YGNodeRef node, float width, YGMeasureMode 
widthMode, float height, YGMeasureMode heightMode)
{
  RCTShadowText *shadowText = (__bridge RCTShadowText *) 
  YGNodeGetContext(node);
  NSTextStorage *textStorage = [shadowText buildTextStorageForWidth:width 
  widthMode:widthMode];
  [shadowText calculateTextFrame:textStorage];
  NSLayoutManager *layoutManager = textStorage.layoutManagers.firstObject;
  NSTextContainer *textContainer = layoutManager.textContainers.firstObject;
  CGSize computedSize = [layoutManager 
  usedRectForTextContainer:textContainer].size;

  YGSize result;
  result.width = RCTCeilPixelValue(computedSize.width);
  if (shadowText->_effectiveLetterSpacing < 0) {
     result.width -= shadowText->_effectiveLetterSpacing;
  }
  result.height = RCTCeilPixelValue(computedSize.height);
  return result;
 }

YGNodeRef удален из другого класса под названием Yoga.h.

typedef struct YGNode *YGNodeRef;

Я вижу значения YGNodeRef node в отладчике, но я не могу понять, как получить доступ к его элементам в коде.Содержание выглядит следующим образом:

(YGNodeRef) 0x150094a00
    > style (YGStyle)
    > layout (YGLayout)
    lineIndex = (uint32_t) 0
    > parent = (YGNodeRef) 0x15009e200
        ..... etc .....
    > context

Я хочу, чтобы доступ к дочернему элементу 'context' проверял, является ли он нулевым или нет, некоторая помощь будет принята с благодарностью.Или, если вы просто знаете причину, по которой контекст будет нулевым, это также поможет мне:)

Я новичок в Objective C, поэтому моя логика может быть ошибочной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...