0

私は 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 キーマッパーを利用する良いケースでしょうか?

何か案は?他に何か提供できることがあれば教えてください。いくつかのガイダンスを求めて飛び回っていましたが、少し立ち往生しています。前もって感謝します!

4

1 に答える 1