2

私はrestkitを初めて使用し、コアデータと一緒にアプリケーションで使用しています。私はrestkitがコアデータを処理する方法にかなり驚いていました。それは単に素晴らしいです。しかし、私のWebサービスの1つを解析しているときに、大きな問題に直面しています。アプリはクラッシュし続け、応答から値をマップできません。以下は私の応答です-

[{"id":10、 "created": "2012-10-06 13:32:09 +0000"、 "createdBy":null、 "functionalCurrency":null、 "imageUrl":null、 "lat":null 、"lon":null、 "maxOccupancy":0、 "name": "Patio Dining"、 "posX":0、 "posY":0、 "reportingCurrency":null、 "salesTaxRate1":0、 "salesTaxRate2": 0、 "salesTaxRate3":0、 "salesTaxRate4":0、 "timezone": "-0830"、 "transactionalCurrency":null、 "updated": "2012-10-06 13:32:09 +0000"、 "updatedBy ": ヌル}]

次のエラーが発生します。-

E restkit.object_mapping:RKObjectMappingOperation.m:262キーパス'locationId'の属性を値10にマッピング中に検証に失敗しました。エラー:操作を完了できませんでした。(Cocoaエラー1610。)-[__ NSCFNumber length]:認識されないセレクターがインスタンス0x774e020に送信されました

私のロケーションクラスは次のように宣言されています-

@interface Location : NSManagedObject


@property (nonatomic,strong)NSNumber *locationId;
@property (strong, nonatomic) NSString *created;
@property (nonatomic,strong)  NSString *createdBy;
@property (nonatomic,strong)  NSString *functionalCurrency;
@property (nonatomic,strong)  NSString *imageUrl;
@property (strong, nonatomic) NSString *lat;
@property (strong, nonatomic) NSString *lon;

私は次のようにマネージャーを初期化します-

    RKURL *baseURL = [RKURL URLWithBaseURLString:serverUrl];

            objectManager = [RKObjectManager objectManagerWithBaseURL:baseURL];

            objectManager.client.baseURL = baseURL;

            objectManager.client.requestQueue.showsNetworkActivityIndicatorWhenBusy = YES;
[RKObjectManager setSharedManager:objectManager];

[objectManager loadObjectsAtResourcePath:[NSString stringWithFormat:@"%@", [URL resourcePath]] delegate:self];

locationIdをNSStringに設定しようとすると、RKObjectManagerは「9」以降のどの値とも一致しません。NSNumberに設定すると、「2」以降の値と一致しません。

私を助けてください。同じことがRKManagedObjectMappingでも発生しているため、コアデータファイルにデータが入力されません。

4

1 に答える 1