API を使用していて、画像の高さに基づいて高さを調整する必要があります。UITableViewCell
私のif
声明は次のようにする必要があります。
- 画像がない場合は高さを 140 に設定し、それ以外の場合は...
- 画像がある場合は、高さを 106 + imageHeight に設定します
私はこれを機能させることができないようです、何かアイデアはありますか?
必要に応じて追加のコードを投稿します、ありがとう!
- (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
Feed *feedLocal = [headlinesArray objectAtIndex:indexPath.row];
if ([feedLocal.images count] == 0) {
return 140;
}
else {
Images *image = [feedLocal.images objectAtIndex:0];
NSString *imageHeight = [NSString stringWithFormat:@"%@", image.height];
return 106 + imageHeight;
}
「このアーキテクチャとプラットフォームの定数サイズではないインターフェイス 'NSString' へのポインターの算術演算」というエラーが表示されreturn 106 + imageHeight;
、その場所に到達するとアプリがクラッシュします。
編集: 配列の内容 (API からの JSON)
"feed": [{
"headline": "xxx",
"lastModified": "xxxx",
"images": [{
"height": 300,
"alt": "xxx",
"width": 300,
"name": "xxx",
"caption": "xxx",
"url": "http://xxx.jpg"
}],
Images.h
@property (nonatomic, strong) NSNumber *height;
@property (nonatomic, strong) NSNumber *width;
@property (nonatomic, strong) NSString *caption;
@property (nonatomic, strong) NSString *url;
+ (RKObjectMapping *) mapping;
Images.m
+ (RKObjectMapping *)mapping {
RKObjectMapping *objectMapping = [RKObjectMapping mappingForClass:[self class] usingBlock:^(RKObjectMapping *mapping) {
[mapping mapKeyPathsToAttributes:
@"height", @"height",
@"width", @"width",
@"caption", @"caption",
@"url", @"url",
nil];
}];
return objectMapping;
}