我有一个NSCollectionView
,其中一个子视图是NSImageView
。实际图像需要在通过API调用后从Web服务器加载(实际上是两个网络请求)。显然我需要异步加载图像。我可以将NSImageView
的值绑定到NSValueTransformer
,将模型ID转换为NSImage
,但如何实现NSValueTransformer
?它希望立即从transformedValue:
方法返回,而我只能在那里发出网络请求。我不想使用同步网络来阻止线程。
答案 0 :(得分:2)
不是使用实际上会立即返回的NSValueTransformer,而是继承集合视图项。对于每个项目异步触发此子类中的事务。 在子类中保留NSImage的IBOutlet,以便在从服务器jus收到响应时,使用此IBOulet设置Image。 使用此方法创建项目时,相应的视图控制器将进入画面。对它进行子类化可以控制视图以及如何加载视图。
我希望这会有所帮助。