如果我定义了NSObject:
// Person.h
@interface Person : NSObject
@property(nonatomic,copy)NSString *uuid;
@property(nonatomic,copy)NSString *firstName;
@property(nonatomic,copy)NSString *lastName;
@end
...我希望向Person
提供ReactPeopleView
数组,如何将Person
个对象传递给我的反应视图?
当我尝试:
NSArray *people = [PeopleManager getAllPeople]; // returns an array of People objects
NSDictionary *properties = @{"people":people};
RCTRootView *root = [[RCTRootView alloc] initWithBridge:_bridge
moduleName:@"ReactPeopleView"
initialProperties:properties];
......结果是:
Running application "ReactPeopleView" with appParams: {"rootTag":1,"initialProps":{"people":[]}. __DEV__ === true, development-level warning are ON, performance optimizations are OFF
其中'people':[]
,但它没有得到任何对象。我是100%他们在传递反应之前在数组中(我可以在NSArray的NSLog中看到它们,people
。
我很反应原生,已经玩了几个星期。与ObjC一起编写了大约10年。非常感谢任何帮助。
更新2016-08-30:
我跟踪反应视图的实例化一直到-(void)_executeJSCall:arguments:callback:
...我传入的参数在那里是完整的,所以我不确定丢失的地方。
更新2016-08-31:
我最后只是为每个NSObject类添加了一个-(NSDictionary *)toDictionary;
函数。在将它们发送到ReactPeopleView之前以这种方式转换它们似乎正在起作用;虽然不理想。有更好解决方案的任何人请分享:)