mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Summary: Xcode 9 has compiler settings that are more strict. This can occur if someone updates there project to use the default settings. This patch declares the default type instead of allowing the compiler to determine it. Instead of () we now say (void) in a block call. Motivation It was just trying to get my project totally empty of warnings, and it has no side effects. If there are side effects, then we should fix the type and not go with empty to represent void. Test Plan Update project settings in Xcode. This code doesn't have any known side effects since the compiler assumes the type is void when not declared. Release Notes [DOCS] - Fixed potential compiler build issue on Xcode 9 after updating settings in project. Pull Request resolved: https://github.com/facebook/react-native/pull/17872 Differential Revision: D6981435 Pulled By: hramos fbshipit-source-id: 508ecea0f8874dc16a25f1dee6255481b309f8c2
78 lines
2.5 KiB
Objective-C
78 lines
2.5 KiB
Objective-C
/**
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
|
|
#import <UIKit/UIKit.h>
|
|
|
|
#import <React/RCTSurfaceDelegate.h>
|
|
#import <React/RCTSurfaceSizeMeasureMode.h>
|
|
#import <React/RCTSurfaceStage.h>
|
|
|
|
@class RCTBridge;
|
|
@class RCTSurface;
|
|
|
|
typedef UIView *_Nullable(^RCTSurfaceHostingViewActivityIndicatorViewFactory)(void);
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
/**
|
|
* UIView subclass which providers interoperability between UIKit and
|
|
* Surface regarding layout and life-cycle.
|
|
* This class can be used as easy-to-use general purpose integration point
|
|
* of ReactNative-powered experiences in UIKit based apps.
|
|
*/
|
|
@interface RCTSurfaceHostingView : UIView <RCTSurfaceDelegate>
|
|
|
|
/**
|
|
* Create an instance of RCTSurface to be hosted.
|
|
*/
|
|
+ (RCTSurface *)createSurfaceWithBridge:(RCTBridge *)bridge
|
|
moduleName:(NSString *)moduleName
|
|
initialProperties:(NSDictionary *)initialProperties;
|
|
|
|
/**
|
|
* Designated initializer.
|
|
* Instanciates a view with given Surface object.
|
|
* Note: The view retains the surface object.
|
|
*/
|
|
- (instancetype)initWithSurface:(RCTSurface *)surface
|
|
sizeMeasureMode:(RCTSurfaceSizeMeasureMode)sizeMeasureMode NS_DESIGNATED_INITIALIZER;
|
|
|
|
/**
|
|
* Convenience initializer.
|
|
* Instanciates a Surface object with given `bridge`, `moduleName`, and
|
|
* `initialProperties`, and then use it to instanciate a view.
|
|
*/
|
|
- (instancetype)initWithBridge:(RCTBridge *)bridge
|
|
moduleName:(NSString *)moduleName
|
|
initialProperties:(NSDictionary *)initialProperties
|
|
sizeMeasureMode:(RCTSurfaceSizeMeasureMode)sizeMeasureMode;
|
|
|
|
/**
|
|
* Surface object which is currently using to power the view.
|
|
* Read-only.
|
|
*/
|
|
@property (nonatomic, strong, readonly) RCTSurface *surface;
|
|
|
|
/**
|
|
* Size measure mode which are defining relationship between UIKit and ReactNative
|
|
* layout approaches.
|
|
* Defaults to `RCTSurfaceSizeMeasureModeWidthAtMost | RCTSurfaceSizeMeasureModeHeightAtMost`.
|
|
*/
|
|
@property (nonatomic, assign) RCTSurfaceSizeMeasureMode sizeMeasureMode;
|
|
|
|
/**
|
|
* Activity indicator factory.
|
|
* A hosting view may use this block to instantiate and display custom activity
|
|
* (loading) indicator (aka "spinner") when it needed.
|
|
* Defaults to `nil` (no activity indicator).
|
|
*/
|
|
@property (nonatomic, copy, nullable) RCTSurfaceHostingViewActivityIndicatorViewFactory activityIndicatorViewFactory;
|
|
|
|
@end
|
|
|
|
NS_ASSUME_NONNULL_END
|