我有一个方法,我得到了colorWithHex,它可以让我发送一个类似ffaa29(hex)的字符串,并得到一个UIColor。这种方法有效。如果我做
self._mainConsole.textColor = [self colorWithHexString: choice];
我可以设置颜色。但问题是我想储存颜色。例如,如果他们输入了无效的颜色,我想返回当前的颜色。
当我这样做的时候,它不起作用。
self.foregroundColor =[self colorWithHexString: choice];
self._mainConsole.textColor = self.foregroundColor;
相反,它变成了黑色,在我看来,这听起来像是要变成000000。现在,在我的测试ipad中,它可以在上面的一个地方工作,但不能在另一个地方。在测试人员的ipad 1上,第二种方法根本不起作用。我错过了什么?可能是内存问题吗?
Mike
您正在使用弱属性来保持颜色。这意味着一旦没有其他对颜色对象的强引用,它就会被nil
替换。将您的属性更改为strong
,一切都将按预期进行。