我的服务
@protocol Service <NSObject>
-(int)getPersonCount;
-(id<Person>)getPerson:(int)index;
@end
我的协议
@protocol Person
@property(assign, nonatomic) int age;
@property(retain, nonatomic) NSString* name;
@end
代理是以这种方式制作的
id<Service> proxy = [CWHessianConnection proxyWithURL:url protocol:@protocol(Service)];
int count = [proxy getPersonCount];
for (int index = 0; index < count; index++) {
id<Person> person = [proxy getPerson:index];
NSLog(@"age: %d name: %@", person.age, person.name);
}
结果[__NSCFData getBytes:range:]: range {3, 1}
超过数据长度3
这是来自HessianKit doc的示例代码,我不知道它有什么问题。
答案 0 :(得分:0)
您只是访问范围外的数据。最大范围应为{2,1},您试图达到3。