![]() |
1
2
我不是ASIHTTPRequest专家(NSURLRequest一直对我很好),但是从代码的快速插入来看,您似乎会使用它的delegate和didffinishselector属性让它有人告诉它URL请求何时完成。例如:
Apple明确建议您使用内置的runloop样式机制进行异步HTTP获取,而不是单独的线程。使用单独的线程可能会导致更差的性能,至少在电池寿命和/或设备热量方面,即使它仍然足够快。 也就是说,作为一个学习点,到目前为止,将某个东西切换到单独的线程并将其报告回主线程(记住:UIKit对象可能只从主线程发送消息)的最快方法是更改以下内容:
进入这个:
不过,如果不考虑线程的话,可能会产生一百万个并发错误,在这个例子中,一个明显的问题是,无论触发IBAction的是什么,都可能在doExpensiveOperationOn完成之前多次触发它。多线程并不是一件容易被攻破的事情。 |
![]() |
2
1
在处理每个响应的最后,我将解析的响应(NSString*或NSArray*)分配给库对象的属性,而不是返回值。 加载iOS视图控制器委托时,我使用 Key-Value Observing . 当解析响应并将其分配给库中的属性时,observeValueForKeyPath:ofObject:change:context:method在我的视图控制器委托的代码中被调用,从中我可以知道哪些属性被更改了,因此需要更新哪些UI。 |
![]() |
Danil · 种子/填充核心数据的最佳实践?[关闭] 6 月前 |
![]() |
Robin · LazyVGrid项目预计不会击中测试区域 6 月前 |
![]() |
Alex Smith · 移动到下一个视图控制器后如何显示警报? 7 月前 |
![]() |
selcukctn · 如何在react native中制作无限动画? 7 月前 |
![]() |
Nicolas Gimelli · iOS 18远程通信通知不起作用 7 月前 |