2013-10-09 3 views
0

мой службаhessiankit исключение NSRangeException

@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, я не знаю, что с ним не так.

ответ

0

Вы просто получаете доступ к данным за пределами диапазона. Максимальный диапазон должен быть {2, 1}, и вы пытаетесь добраться до 3.

+0

Но я не контролирую массив самостоятельно, это сам hessiankit. – chengjj520

Смежные вопросы