2

How to use Bolts Framework[Facebook+Parse]という質問を既に投稿しましたが、Bolts-framework を使用する場合、解析 Web サービスを使用する必要がありますか?

彼らは以下のようなサンプル コードを提供しますsaveAsync:。しかし、私はBoltssのgithubでこの行を見てき "Using these libraries does not require using any Parse services. Nor do they require having a Parse or Facebook developer account"まし

[[object saveAsync:obj] continueWithBlock:^id(BFTask *task) {
  if (task.isCancelled) {
    // the save was cancelled.
  } else if (task.error) {
    // the save failed.
  } else {
    // the object was saved successfully.
    SaveResult *saveResult = task.result;
  }
  return nil;
}];

今、私は混乱しています、Is bolts framework need to use parse webservice?

注:どこで Bolts-framework を使用したいか尋ねないでください。この質問の最初の行を参照してください。

4

3 に答える 3

1

この質問が出されてからしばらく経ちましたが、mani が AFNetworking で Bolts フレームワークを使用できるかどうかを知りたがっていたので、使用法を示す簡単な例を追加したいと思います。
それは迅速に書かれており、本当に単純明快です。

func taskWithPath(path: String) -> BFTask {

    let task = BFTaskCompletionSource()
    AFHTTPRequestOperationManager().GET(path, parameters: nil, success: { (operation, response) in
        task.setResult(response)

    }) { (operation, error) -> Void in
        task.setError(error)
    }
    return task.task
}

お役に立てれば :)

于 2015-01-16T11:42:33.770 に答える
1

確かに、Parse Web サービスは必要ありません。私は自分のタスクを実装する際に同じ困難を抱えており、このフレームワークを研究しています。BoltsTestのコードを見てみましょう。便利なコードがいくつか見つかります。

サンプル プロジェクト ( https://github.com/giaesp/BoltsFrameworkSample )でいくつかの実験を試みています。基本的に、BFTask を返す独自のメソッドを定義する必要があります。ここに簡単な抜粋があります。

- (BFTask*) parseHTML:(NSURL*)url searchString:(NSString*)searchString {
BFTaskCompletionSource * tcs = [BFTaskCompletionSource taskCompletionSource];

NSURLRequest * request = [NSURLRequest requestWithURL:url
                                          cachePolicy:NSURLRequestReloadIgnoringLocalCacheData
                                      timeoutInterval:30];
NSURLResponse * response;
NSError * error;
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
if (!error) {
    NSString * receivedData = [NSString stringWithUTF8String:[returnData bytes]];
    NSUInteger occurrences = [self countOccurencesOfString:@"iOS" inputString:receivedData];
    [tcs setResult:[NSNumber numberWithInt:occurrences]];


}
else {
    [tcs setError:error];
}

return tcs.task;
}

次に、ドキュメントの説明に従ってメソッドを使用し、タスクのステータスを確認できます。

[[self parseHTML:[NSURL URLWithString:@"http://www.stackoverflow.com"]] continueWithBlock:^id(BFTask *task) {
if (task.isCancelled) {
    // the task was cancelled
 } else if (task.error) {
    // the task failed
} else {
    // the task completes
}
return nil;
}];
于 2014-02-06T16:31:47.880 に答える