WKInterfaceImage 无法更新图片的问题

最近涉及到AppleWatch的相关项目,但有个奇怪问题无法解决,而且无法理解:

根据不同的用户操作,需要修改播放器的专辑图片。

不知道跟我的项目需求是不是有关系:我需要轮询共享空间,以拿取同步数据,是否是性能的问题?不晓得

我尝试过的方法如下:

1. WKInterfaceImage继承关系是:-> WKInterfaceObject -> NSObject,无法用UIView的一些方法来移除图片再把新的图片加进去(addSubview,removeFromSuperView)

2. 没有setNeedDisplay等相应的强制刷新方法

3. 只有setHidden方法靠点谱,但尝试后依然无效

4. 我尝试用两张不同的图片来回替换,并调用setHidden方法,依然无效

5. stackoverflow上有个问题是类似的:WKInterfaceTable中的cell里有WKInterfaceImage,在复用旧的cell的时候,发现旧图片内容没有被替换,得到的答案是:这是一个bug,已经在xcode6.2解决(天哪,我的是6.3.2,但依旧没解决啊),给出的临时解决方案是:在赋值新的图片内容之前,先赋值nil。

[self.image setImageNamed:nil];  //也可以是空字符串
[self.image setImageNamed:@"XXXX"];

但~~~我这里依旧无效。

6. 最终解决方案是:在发现需要更新图片的时候,用GCD的延迟方法来执行相关代码。但我不知道是不是由于Watch和iphone之间的同步通信效率低下导致的???

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

});

另外:传说中WKInterfaceDevice可以存储缓存,并且可以通过key值赋值给image对象,但是很遗憾,我这里一旦发现缓存中有图片,再赋值的时候,图片就无法更新了,好奇怪。。。。。欢迎大家一起讨论。

更多相关文章
  • (1)打开vc6.0,新建一个对话框程序: (2)添加一个按钮控件和一个Edit控件 (3)使用ClasWards关联Edit控件和变量值m_editShowDir (4)双击按钮控件,为按钮控件添加函数 void CTestDlg::OnSelset() { UpdateData(TRUE); C ...
  • 文/摩摩尔2014年行将结束,这一年对于"可穿戴设备"来说是异常热闹的一年,从年初CES国际消费电子展上的抢尽风头,到占据各大科技媒体的头条:从多家新创公司的积极试水,到巨头厂商的"疯狂"跟进--种种迹象表明,可穿戴设备正在成为继手机以来又一个对人类社会产生巨 ...
  • 题目: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同. 思路: 递归 注意,主要就是假定数组为空时结果为false,因为导致的递归之前需要判断左右子树是否为空,注意判断是否为空的条件. 代码: 如果假定数组为 ...
  • 虽说DOS命令已是昨日黄花,但我们不少时候仍需要用到DOS命令,因此Windows XP系统也还保留有"命令提示符",不过整天面对黑底白字的界面实在有些心里不爽,下面我们就不错助任何外来工具,手工打造个性的"命令提示符"吧. 第一步:先新建一个.cmd文件,文 ...
  • 微信是除QQ之外最受欢迎的手机聊天工具了,不仅可以用文字聊天,还可以通过语音聊天,非常的方便快捷.有时候我们在清理手机垃圾文件的时候,会错手把一些微信好友的文字或者语音信息给删掉了. 如果是工作上的信息往来记录丢失了,那会比较麻烦.其实微信聊了记录被删后,还是可以找回来的.今天小编就和大家分享:误删 ...
  • 在面向对象的编程中,对象同时包含数据和行为,这两者一起表示业务域的特定方面.使用对 象生成应用程序的优点之一是可以将所有数据操作封装在对象内.这样, 就使对象成为独立的单位,并增加了在其他应用程序中重用对象的可能性.但是,对象无法在孤立状态下工作.在除最不重要的应用程序之外的所有应用程序中,对 象必 ...
一周排行
  • 数据库防火墙onefirewall,如何防范黑客物理删除?避免携程事件再次上演 首先解释一下数据库防火墙原理(白名单机制):就类似360手机卫士,事先定义通讯录,别人给你打电话时,只有在通讯录的电话可以接听,没有在通 ...
  • 1    OpenVPN简介     VPN替代昂贵的专线用以在开放的Internet上实现了一个虚拟的网络,该虚拟网络本身在不安全的真实网络上对数据提供安全保护.     OpenVPN实现了一个灵活的VPN,和通 ...
  • 你什么时候放下,什么时候就没有烦恼.   一.路过心上的故事:            有这样一个古寺,寺里的老方丈养了一只狗,取名叫"放下",于是每天早晚,老方丈都会拿着一只碗,喊:'放下'!'放 ...
  • 版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版.作者信息和本声明.否则将追究法律责任.http://blog.csdn.net/topmvp - topmvpA generation has ...
  • In CMD, we can use the JDK's command: jar. 1. To pack two .class files into an archive named testPackage.jar ...
  • MongoDB管道聚合各阶段示例 翻译自:blog.mongodb.org 下面我们就来看看几个操作符: $match $match的作用是过滤数据,通过设置一个条件,将数据进行筛选过滤,例子: db.runComm ...
  •     目前为止,我们常推荐算法有好多种,比较常见的有协同过滤(Collaborative Filtering Recommendations)这个在Mahout里的ItemCF和UserCF比较常用,还有一种比较新 ...
  • 本文转自http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html Vim命令合集 命令历史 以:和/开头的命令都有历史纪录,可以首先 ...
  • 今天小编为大家带来了暗黑3国服正在验证NID是什么 验证NID解决方法,感兴趣的朋友们可以跟着小编去下文了解一下哦 今天小编为大家带来了暗黑3国服正在验证NID是什么 验证NID解决方法,感兴趣的朋友们可以跟着小编去 ...
  • 估计不少做Flex的初学者和我一样,寻找让Flex背景图片平铺显示方法. 但现在我要告诉你的是Flex本身没有提供这种方法,至少在Flex3上是没有提供的. 所以就要自己写代码来实现这种效果,其实很简单的. 下面是我 ...