Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
同步或异步(iOS)获取用户ID?_Ios - Fatal编程技术网

同步或异步(iOS)获取用户ID?

同步或异步(iOS)获取用户ID?,ios,Ios,我有一个要求。有些屏幕不是基于帐户的。因此,用户无需登录即可查看它们。但是当他们点击“收藏”按钮时。用户将被要求在登录页面中登录。登录后,如果用户确实登录,则应继续上一个收藏夹操作。如果用户未登录,则应停止以前的操作 所以我认为这是一个异步登录的案例。通常的同步方式无法处理此问题。所以我的想法是传入一个登录完成块。像这样: typedef void (^LoginComplete)(NSString *userID); - (void)getUserIDWithCompletion:(Logi

我有一个要求。有些屏幕不是基于帐户的。因此,用户无需登录即可查看它们。但是当他们点击“收藏”按钮时。用户将被要求在登录页面中登录。登录后,如果用户确实登录,则应继续上一个收藏夹操作。如果用户未登录,则应停止以前的操作

所以我认为这是一个异步登录的案例。通常的同步方式无法处理此问题。所以我的想法是传入一个登录完成块。像这样:

typedef void (^LoginComplete)(NSString *userID);

- (void)getUserIDWithCompletion:(LoginComplete)loginComplete;


我说得对吗?或者你们通常是如何处理这种情况的?

通常,从开发人员的角度来看,所有的网络都是异步完成的,也就是完成闭包。但是,这对于用户来说是一个同步操作,因为在操作继续之前,用户无法查看其余内容


不管怎样,你的方法都很好。

好的。我明白你的意思。但我认为,对于用户来说,从整个应用程序的角度来看,这也是一个同步操作。因为用户仍然可以关闭弹出的登录屏幕以查看其他屏幕。无论如何,谢谢。我想我会对这个案例使用一个完成闭包(回调)。谢谢