iOS用の簡単な複数選択問題を書いています。
質問を取得してユーザーの回答を保存できるように、API を作成したいと考えています。バックエンドにはdjangoとtastypieを使用しています。
この関数を使用して、アプリに質問をロードします。
- (void)loadQuestion
{
RKObjectMapping* questionMapping = [RKObjectMapping mappingForClass:[Question class]];
[questionMapping addAttributeMappingsFromDictionary:@{
@"question": @"question",
}];
RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:questionMapping pathPattern:nil keyPath:@"question" statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];
NSURL *URL = [NSURL URLWithString:@"http://127.0.0.1:8000/api/v1/question/2/?format=json"];
NSURLRequest *request = [NSURLRequest requestWithURL:URL];
NSLog(@"request : %@", request);
RKObjectRequestOperation *objectRequestOperation = [[RKObjectRequestOperation alloc] initWithRequest:request responseDescriptors:@[responseDescriptor]];
[objectRequestOperation setCompletionBlockWithSuccess:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
RKLogInfo(@"Load collection of Articles: %@", mappingResult.array);
} failure:^(RKObjectRequestOperation *operation, NSError *error) {
RKLogError(@"Operation failed with error: %@", error);
}];
[objectRequestOperation start];
}
ここに私の question.h があります:
#import <Foundation/Foundation.h>
@interface Question : NSObject
@property (strong) NSString *question;
@end
そして私の質問.m
@implementation Question
@synthesize question = _question;
@end
JSON は次のとおりです。
{
"chapter": "/api/v1/chapter/2/",
"id": 2, "
pub_date": "2013-04-25T19:23:42.930097",
"question": "Quelle est la capitale de ce pays : Emirats Arabes Unis ?",
"resource_uri": "/api/v1/question/2/"
}
そして、tastypie API は次のとおりです。
from tastypie.resources import ModelResource
from tastypie import fields
from .models import Question, Chapter
class ChapterResource(ModelResource):
class Meta:
queryset = Chapter.objects.all()
resource_name = 'chapter'
class QuestionResource(ModelResource):
chapter = fields.ForeignKey(ChapterResource, 'chapter')
class Meta:
queryset = Question.objects.all()
resource_name = 'question'
私が得るエラーは次のとおりです: キャッチされていない例外 'NSUnknownKeyException' が原因でアプリを終了しています。
https://github.com/RestKit/RestKit/wiki/Object-Mappingを読みましたが、何が間違っているのかわかりませんでした。
私のクラスの何が問題になっていますか?