私は JSONModel を使用してきましたが、チュートリアルは理にかなっています。複数のインデックスを持つ配列を含む JSON を解析しています。
JSONModel が次のデータセットで使用できることを確認したかった: https://gist.github.com/ryancoughlin/8043604
tide
は正しい配列ではありませんか? しかし、tide.tideSummary
複数日にわたる潮汐データの配列を含む - があります。
AllTide.h
#import "JSONModelLib.h"
#import "Tide.h"
@interface AllTide : JSONModel
@property (strong,nonatomic) NSDictionary<Tide> *tide;
@end
Tide.h
#import "JSONModelLib.h"
#import "TideSummaryStats.h"
@protocol Tide @end
@interface Tide : JSONModel
@property (nonatomic, strong) NSArray<TideSummaryStats> *tideSummaryStats;
@end
TideSummaryStats.h
#import "JSONModelLib.h"
@protocol TideSummaryStats @end
@interface TideSummaryStats : JSONModel
@property (nonatomic, strong) NSString *maxheight;
@property (nonatomic, strong) NSString *minheight;
@end
TideDetailViewController - 単一の場所 (詳細ビュー) と複数の場所のリストを表示します
@interface TideDetailViewController () {
AllTide *_objTide;
}
@end
@implementation TideDetailViewController
- (void)viewDidAppear:(BOOL)animated {
NSString *locationQueryURL = @"http://api.wunderground.com/api/xxxxx/tide/geolookup/q/43.5263,-70.4975.json";
//fetch the feed
_objTide = [[AllTide alloc] initFromURLWithString:locationQueryURL completion:^(JSONModel *model, JSONModelError *err) {
NSLog(@"Tides: %@", _objTide.tide);
}];
}
いくつかの JSONModel チュートリアルを行ってきましたが、それは理にかなっています。JSON 形式がチュートリアルと異なる場所で問題が発生していると思います。繰り返しますが、 mytide
は配列を返しません。
これは、JSONModel キーマッパーを利用する良いケースでしょうか?
何か案は?他に何か提供できることがあれば教えてください。いくつかのガイダンスを求めて飛び回っていましたが、少し立ち往生しています。前もって感謝します!