I have a custom component written fast and I want to pass some custom properties from js world,
but I really don't know how to do this, please provide the main code below.
Demo bridge-header.h
#import "RCTBridgeModule.h" #import "RCTViewManager.h"
CollectionViewManagerBridge.m
#import "RCTView.h" #import "RCTViewManager.h" @interface RCT_EXTERN_MODULE(CollectionViewManagerSwift, RCTViewManager) @end
CollectionViewManagerSwift.swift
@objc(CollectionViewManagerSwift) class CollectionViewManagerSwift : RCTViewManager, UICollectionViewDataSource, UICollectionViewDelegate { let contentCellIdentifier = "CellIdentifier" var collectionView: UICollectionView override init() { let layout = CustomCollectionViewLayout() let collectionView = UICollectionView(frame: CGRectZero, collectionViewLayout: layout) collectionView.registerClass(CustomCell.self, forCellWithReuseIdentifier: contentCellIdentifier) collectionView.directionalLockEnabled = false collectionView.backgroundColor = UIColor.whiteColor() self.collectionView = collectionView } override func view() -> UICollectionView! { self.collectionView.delegate = self self.collectionView.dataSource = self return self.collectionView; }
In addition, I also have CustomCell.swift and CustomCollectionViewLayout.swift to be used above.
this code works fine when I call <CollectionViewManagerSwift /> in the render() method from js world,
but how can I pass properties from the js world, for example <CollectionViewManagerSwift customProperty={customProperties} /> , and how can I define customProperty in my quick code?
Perhaps I am not expressing clearly, thanks for your time.
subsequent
I am trying to add customProperty to CollectionViewManagerBridge.m
#import "RCTView.h" #import "RCTViewManager.h" @interface RCT_EXTERN_MODULE(CollectionViewManagerSwift, RCTViewManager) RCT_CUSTOM_VIEW_PROPERTY(customProperty, NSArray, CollectionViewManagerSwift) { NSLog(@"%@ -- %@", json[0], json[1]); } @end
then i call it from js world
<CollectionViewManagerSwift customProperty={['foo', 'bar']} />
I get value in Xcode output
2016-02-27 17:58:07.167 Demo[49690:12639774] foo -- bar
but how can I get customProperty in CollectionViewManagerSwift.swift ?
thanks again.
considers