谁可以看到一个不是isHidden的UIView?

难道只有我每次处理UIView的isHidden属性时都会大吃一惊吗?

我的直觉一直是,布尔类型的“ true”值表示存在的东西,而与不存在的“ false”值相反。

考虑到这一点,让我处理UIView的isHidden属性非常令人费解和费力。

假设我希望某些UIView在屏幕上可见。 我的想法是为UIView的某些属性设置“真”(即存在)值。 但是,相反,我必须为isHidden属性设置一个“ false”(不存在)值。 真是令人误解。

这意味着,我需要使用双重否定:不存在不存在,以简单地显示UIView。

此外,我们经常必须根据数据对象的某些布尔属性显示一些图像或其他UI元素。 每次看到这样的代码,我的脑袋都会微震:

  hotImage.isHidden =!article.isHot 

拥有这样的代码会更好:

  hotImage.isVisible = article.isHot 

那么,为什么不呢? 我对UIView使用了最简单的扩展:

我将此文件添加到我的所有项目中,这为我节省了很多精力。 我鼓励您也这样做。

如果您有关于Apple为什么使用isHidden而不是isVisible的线索,请告诉我。