Я хочу получить доступ к 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, поэтому моя логика может быть ошибочной.