From 30dc6cf3439303a11c13dde65af20a7abd08f14c Mon Sep 17 00:00:00 2001 From: iska Date: Sat, 28 Nov 2015 21:09:44 +0100 Subject: [PATCH] Add HTML Node method to count child elements --- HTMLKit/HTMLNode.h | 2 ++ HTMLKit/HTMLNode.m | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/HTMLKit/HTMLNode.h b/HTMLKit/HTMLNode.h index 1549d30..e5fac40 100644 --- a/HTMLKit/HTMLNode.h +++ b/HTMLKit/HTMLNode.h @@ -88,6 +88,8 @@ typedef NS_ENUM(unsigned short, HTMLDocumentPosition) - (NSUInteger)indexOfChildNode:(HTMLNode *)node; +- (NSUInteger)childElementsCount; + - (HTMLElement *)childElementAtIndex:(NSUInteger)index; - (NSUInteger)indexOfChildElement:(HTMLElement *)element; diff --git a/HTMLKit/HTMLNode.m b/HTMLKit/HTMLNode.m index ebedf36..c630665 100644 --- a/HTMLKit/HTMLNode.m +++ b/HTMLKit/HTMLNode.m @@ -159,6 +159,13 @@ return [self.childNodes objectAtIndex:index]; } +- (NSUInteger)childElementsCount +{ + return [self.childNodes indexesOfObjectsPassingTest:^BOOL(HTMLNode * _Nonnull node, NSUInteger idx, BOOL * _Nonnull stop) { + return node.nodeType == HTMLNodeElement; + }].count; +} + - (NSUInteger)indexOfChildNode:(HTMLNode *)node { return [self.childNodes indexOfObject:node];