1

こんにちは、通貨コンバーターとして 1 つのアプリケーションを開発しています。URL は 1 つの国の通貨のみを返しますが、ユーザーが 1 つの国を選択すると、複数の国の通貨コンバーターの値のリストを表示する必要があるようにモジュールが見えるので、必要ですjosn を複数回呼び出します。
コードは次のとおりです。

    responseData = [[NSMutableData data] retain];
    ArrData = [NSMutableArray array];
    NSString *strURL = [NSString stringWithFormat:@"http://rate-exchange.appspot.com/currency?from=%@&to=%@&q=1",strtablbase,strto];
    NSURL *url = [NSURL URLWithString:strURL];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    [[NSURLConnection alloc] initWithRequest:request delegate:self];

-(void)connectionDidFinishLoading:(NSURLConnection *)connection { [接続解放]; NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding]; [応答データのリリース];

results = [responseString JSONValue];
livevalues=[responseString JSONValue];

上記のコードでは、1 つの国の値を取得していますが、1 つの strto 値を別の方法で渡す必要があります。はいの場合は、提案をして、この問題から私を助けてください。

4

3 に答える 3

0

もちろん、異なる値を渡すことは可能です。すでに行ったように、次々に接続を開始できます。サーバーがあなたのものである場合、一度にすべてのレートを返すリクエストを実装します。リクエストの送受信にかかる時間を節約できます。1回のリクエストで100バイトまたは500バイトを取得するかどうかは、(待機時間に関しては)実際には問題ではありません。

それ以外の場合は、多くのリクエストを呼び出す必要があります。言ったように、あなたは次々にそして同時に2-3の要求さえ呼び出すことができます。自分でメカニズムを実装することもNSOperationQueue、Appleからの多くの要求に対して正確に作成されたメカニズムを使用することもできます。

詳細については、https://developer.apple.com/library/ios/#documentation/Cocoa/Reference/NSOperationQueue_class/Reference/Reference.html

そして、(NSURLConnectionの)メソッドをポイントしたい

+ (void)sendAsynchronousRequest:(NSURLRequest *)request queue:(NSOperationQueue *)queue completionHandler:(void (^)(NSURLResponse*, NSData*, NSError*))handler
于 2013-02-27T09:17:43.623 に答える
0

はい、NSOperation Queues を使用して別の URL を呼び出すことができます。または、Asihttprequest を使用している場合は、このリンクが役立つ場合があります:)

于 2013-02-27T09:12:52.790 に答える
0
responseData = [[NSMutableData data] retain];

NSMutableArray *array = [[NSMutableArray alloc] init];
    [array addObject:@"country1"];
    [array addObject:@"country2"];

    for (NSString *urlString in array) {
strtablbase = [NSString stringWithFormat:@"%@",urlString];
    NSString *strURL = [NSString stringWithFormat:@"http://rate-exchange.appspot.com/currency?from=%@&to=%@&q=1",strtablbase,strto];
    NSURL *url = [NSURL URLWithString:strURL];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    [[NSURLConnection alloc] initWithRequest:request delegate:self];
}

これを試して..

于 2013-02-27T09:29:56.423 に答える