objective-c - ios中,用工厂方法如何return block里的值?
PHP中文网
PHP中文网 2017-04-18 09:55:47
0
3
484

正在学习Leancloud,想用一个工厂方法来封装查询代码,但是不能return block里的值,直接return objectID是空值,求指教,谢谢!

+ (NSString *)getObjectIDbyUsername:(NSString *)_username
{
    __block NSString *objectID = NULL;
    NSString *username = [NSString stringWithFormat:@"^%@$",_username];
    AVQuery *query = [AVQuery queryWithClassName:@"_User"];
    [query whereKey:@"username" containsString:username];
    [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
        objectID = [objects valueForKey:@"objectId"];
    }];

    return objectID;
}
PHP中文网
PHP中文网

认证0级讲师

全員に返信(3)
小葫芦

非同期:

リーリー

同期:

リーリー
いいねを押す +0
小葫芦
  1. ファクトリ メソッドのシェイプをブロックに追加し、ブロック コールバック オブジェクト ID

  2. dispatch_semaphore_t、戻る前に待ちます。

いいねを押す +0
伊谢尔伦

Swift を使用する場合は、GCD グループを持つ必要があります。@escaping ブロックがそれを行います。 。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート