我正在使用一个包含缩略图的列表视图。我还使用网络服务来检索所有信息。
在我的 cellForRowAtIndexPath 方法中,我调用服务来检索记录,然后检查它是否附加了图像。这只是一个布尔值。然后,如果确实如此,我会使用不同的方法再次调用该服务以获取缩略图。所有逻辑似乎都已到位且顺序正确,但图像显示在错误的单元格中并且也重复了。
当我逐步调试代码时,它似乎会触发每个单元格的服务调用,而不是直接跳到下一行/单元格的响应操作。一旦填充了所有行,它就会进入响应。这对调试器来说正常吗?也许对服务的调用是异步的,这就是为什么?包含一个肥皂“库”,但它似乎没有在任何地方命名,而且它似乎没有执行异步请求,这对于这个应用程序来说是愚蠢的。我从第 3 方开发人员那里继承了这个项目。
此外,我是一个 .net 开发人员,并且习惯于 Visual Studio 调试器,所以这可能会导致一些问题。
抱歉,如果我的条款不正确,因为我对 ios 和 obj-c 还很陌生。
代码:获取图像的服务调用:
[service GetPictureThumbnail:self action:@selector(GetThumbResponse:) clientid: [AppDelegate clientID] commid:[UserSettings getInstance].selectedID mod:@"CCR" pkey:_ccr.l maxWidth:94 maxHeight:98];
获取拇指响应:
// Handle errors
if([value isKindOfClass:[NSError class]]) {
NSLog(@"%@", value);
}
// Handle faults
if([value isKindOfClass:[SoapFault class]]) {
NSLog(@"%@", value);
}
// Do something with the NSString* result
Picture_Object* result = (Picture_Object*)value;
NSLog(@"%@", result);
[_cell.imgThumb setImage:[UIImage imageWithData:result.e]];
单元格中的所有其他数据都很好,但图像是唯一不会包含在对服务的初始调用中的内容。
谢谢。