SPSuccinct 1.0.4

SPSuccinct 1.0.4

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2015年4月

Nevyn BengtssonNevyn Bengtsson 维护。



  • Joachim Bengtsson

由 Joachim Bengtsson [email protected]

在我努力编写尽可能简洁、简短和易于阅读的代码的过程中,我编写了一些工具来帮助自己。 这些工具有在我的博客上进行了详细描述,但简而言之

SPLowVerbosity

为创建您的标准容器和 "POD" 对象(NSNumber、NSString 等)定义宏。我总是将此类文件在项目之间复制粘贴,但这个特定版本受到了杰出的 Jens Alfke 的 CollectionUtils 的极大启发,并增加了一些 ARC 修复和修正。未被人歌颂的英雄:$castIf,$notNull。

SPKVONotificationCenter

在适当的点进行 KVO 观察和注销。您有一个这个概念,但没有代表这个概念的对象。这太糟糕了。SPKVONotificationCenter 为您提供了一个可以像其他对象一样管理的表示 KVO 观察的概念对象;世界又是一个美好的地方了。

SPDepends

在此基础上,SPDepends 尝试使用魔法,让您可以对两个不同对象上的三个不同的 KVC 密钥路径进行订阅,并在任何变动时获得回调,这一切在一行或两行代码中完成

$depends(@"alarm", lock, @"locked", sensor, @"adjacentPeople", @"isOn", self, @"isOn", ^{
  if(lock.locked && sensor.adjacentPeople.count > 0 && sensor.isOn && selff.isOn)
    [selff triggerAlarm];
})

我发现这真正展现了 KVO 的强大之处,这是只有 Bindings 以前做到过的。