为什么我不能访问该指针的值。目标c

时间:2019-03-06 22:42:08

标签: objective-c xcode reactjs react-native pointers

我想访问RCTMeasure函数的参数中的YGNodeRef node。这是来自本机的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'子级以检查它是否为null,请多多帮助。或者,如果您只知道上下文为null的原因,那么这也对我有帮助:)

我是目标C的新手,所以我的逻辑可能有缺陷。

0 个答案:

没有答案