我有一个应用程序。在这个应用程序中,用户可以喜欢/不同于某些东西。如果用户点击按钮,则会将文本更改为不同,反之亦然。
为了使喜欢/不同的事件无缝地运行到用户,我首先更改文本,然后向我的API发出请求,说用户喜欢/不同于此。 API决定操作是喜欢还是不喜欢取决于数据库中的值。然后,API返回一条消息,说明所做的操作(“喜欢”/“不喜欢”)。应用程序接收它,然后根据结果更新UI,以防用户意图的操作失败。
如果一切顺利进行,用户将无法检测到API结果所做的更改。
这是喜欢的东西
user like -> button text changes to "unlike"
-> app make a request -> request is queued to operation queue
-> request run -> API decides whether that something is liked/unliked by the user
-> API returns action (in this case, "liked") -> app updates button text ("unlike")
现在我的问题是:
nb:我不想禁用该按钮(应用程序必须无缝运行.Facebook app也不会这样做,我刚检查过)。哦,我使用AFHTTPRequestOperationManager
并将其maxConcurrentOperationCount
设置为1。
答案 0 :(得分:0)
我使用此answer
解决了我的问题稍作修改。用户第一次单击该按钮时,我将请求标志设置为false,这样即使用户多次单击该按钮,也不会在第一次请求完成之前提出请求。