Swiftgram/Source/Private/ASResponderChainEnumerator.mm
Adlai Holler d0ba092a77
Convert the codebase to Objective-C++ (#1206)
* Convert the codebase to Objective-C++ throughout. One language is better than two.

* Put it back

* Fix linker

* Point explicitly to updated Weaver to unblock build

* Revert "Point explicitly to updated Weaver to unblock build"

This reverts commit fdc25296e8794d4e6e56c35f5fe6da2be3f71dbc.

* Revert "Fix linker"

This reverts commit 7be25f91519b8497ef42de79f115bcfbdb965c39.

* Add in the frameworks

* no message

* Address spec lint warnings

* Fix tvos build

* Put that back

* Address Michael's review

* Add comment to kick CI
2018-11-02 12:04:14 -07:00

46 lines
1021 B
Plaintext

//
// ASResponderChainEnumerator.mm
// Texture
//
// Copyright (c) Facebook, Inc. and its affiliates. All rights reserved.
// Changes after 4/13/2017 are: Copyright (c) Pinterest, Inc. All rights reserved.
// Licensed under Apache 2.0: http://www.apache.org/licenses/LICENSE-2.0
//
#import <AsyncDisplayKit/ASResponderChainEnumerator.h>
#import <AsyncDisplayKit/ASAssert.h>
@implementation ASResponderChainEnumerator {
UIResponder *_currentResponder;
}
- (instancetype)initWithResponder:(UIResponder *)responder
{
ASDisplayNodeAssertMainThread();
if (self = [super init]) {
_currentResponder = responder;
}
return self;
}
#pragma mark - NSEnumerator
- (id)nextObject
{
ASDisplayNodeAssertMainThread();
id result = [_currentResponder nextResponder];
_currentResponder = result;
return result;
}
@end
@implementation UIResponder (ASResponderChainEnumerator)
- (NSEnumerator *)asdk_responderChainEnumerator
{
return [[ASResponderChainEnumerator alloc] initWithResponder:self];
}
@end