测试已测试 | ✗ |
语言语言 | Obj-CObjective C |
许可证 | MIT |
发布最新版本 | 2015年5月 |
由Krzysztof Zablocki,Krzysztof Zabłocki维护。
依赖项 | |
dyci | ~> 0.1.5.6 |
RSSwizzle | ~> 0.1.0 |
NHBalancedFlowLayout | ~> 0.2 |
Playgrounds是Swift中非常酷的功能之一。它们允许您快速测试代码片段并实时查看结果,而无需经过传统的编辑-编译-运行-调试周期。
"但 playgrounds 在 Objective-C 中肯定是不可能的" 你会说吗?实际上,它们可能比 Swift 的更好。
功能
这只是个开始。
KZPShow(obj)
您可以使用自定义调试图像
- (UIImage*)kzp_debugImage;
如果已经实现了 - (id)debugQuickLookObject
方法,且返回值是 KZPShow 支持的类型之一,您就无需做任何事情。
KZPAction(@"Press me", ^{
// Magic code
})
从库中选取图片
KZPAdjustImage(myImage);
KZPWhenChanged(myImage, ^(UIImage *img) {
imageView.image = img;
});
KZPAdjustValue(scale, 0.5f, 1.0f) //- for floats
KZPAdjustValue(position, 0, 100) //- for integers
您还可以设置默认值
KZPAdjustValue(position, 0, 100).defaultValue(50)
KZPAdjust
也可用。KZPAnimate(CGFloat from, CGFloat to, void (^block)(CGFloat));
KZPAnimate(void (^block)());
KZPAnimateValue(rotation, 0, 360)
KZPAnimateValueAR(scale, 0, 1)
仅当值设置后执行代码
KZPWhenSet(myImage, ^(UIImage *img) {
//! magic
});
值变化时执行代码
KZPWhenChanged(myImage, ^(UIImage *img) {
//! magic
});
对于 KZPlayground 类(您可以正常使用它们创建的用于游乐园的普通类中的实例变量/属性),你应该存储 游乐园特定变量,这些变量需要在游乐园方法之间引用,例如。您想使用 UIPanGestureRecognizer 在内部平移的视图,例如 transientObjects 字典中的。
self.transientObjects[@"pannableView"] = view;
实现设置方法并使用常规实例变量来存储您不希望在代码更改时更改的数据。例如,如果您需要执行一些昂贵的操作。
设置过程中记录的快照将保留在时间轴上。
- (void)setup
{
self.data = [self fetchBigDataSet];
}
KZPlayground 以 CocoaPod 分发:pod 'KZPlayground'
您可以将它添加到现有的项目中,或者克隆此存储库并对其进行测试。
请记住,不要在生成环境的构建中添加游乐园(使用新的 CocoaPod 配置范围非常简单)。
一旦安装了 CocoaPod,您需要创建您的游乐园,这个过程很简单
[KZPPlaygroundViewController playgroundViewController]
要应用您更改,您有两种方法
kicker -sql 0.05 FOLDER_WITH_SOURCE_FILES
对于示例项目,您将需要在项目根目录中调用 kicking(包含 .kick
文件,您也将需要。)
kicker -sql 0.05 Example
这将响应在 Example 目录中的所有 .m 文件的变化并重新加载您的游乐园。
PID_PATH=/tmp/${PROJECT_NAME}_kicker.pid
if [ -e $PID_PATH ]
then
kill $(cat $PID_PATH)
rm $PID_PATH
fi
kicker -sql 0.05 . > /dev/null 2>&1 & echo $! > $PID_PATH
注意:您完成项目后需要手动终止kicker进程,因为停止运行项目后它将不会被终止。
KZPlayground由Dyci代码注入工具驱动,您只需要在您的机器上安装一次(您需要在新版Xcode中重新安装))
git clone https://github.com/DyCI/dyci-main.git
cd dyci-main/Install/
./install.sh
为了使用kicker gem,您需要按照以下方式安装
(sudo) gem install kicker
欢迎提交pull请求。
KZPlayground在修改后的MIT许可下可用。有关更多信息,请参阅LICENSE文件。
Krzysztof Zablocki,[email protected]
查看我的博客或GitHub个人资料以了解更多有趣的内容。
SceneKit示例代码取自David Ronnqvist即将出版的SceneKit书籍,推荐阅读。