Playgrounds可以說是Swift中的一個亮點,讓你能夠在編寫代碼的同時實時地看到運行結果,而無需再去重復經歷傳統的編輯-編譯-運行-調試這一周期。當你在Playgrounds上把代碼修改完成后,就可以將這段代碼直接用到項目中去。對于學習新的API、原型代碼、算法等很有幫助。不過它是存在于Swift中的,那么如何在Objective-C中使用?對此,開發者Krzysztof Zab?ocki推出的KZPlayground解決了這一問題,相當于是Objective-C中的Playgrounds。
KZPlayground主要特性:
比Swift的Playgrounds速度要快。
動畫值自動更新。
無關IDE,運行它時,可直接在VIM中修改代碼。
完整的iOS模擬器并能夠獲取iOS的所有特性,所以你可以使用原型產品進行編碼。
專為快速原型準備的Nice DSL。
支持CocoaPods,你可以將它添加到現有的項目中進行試驗。
開源,代碼已托管至Github上。
技術細節:
Worksheet是一個可以添加視圖/控件并能與之交互的地方。你可以使用平時在iOS常用的所有東西,比如UIGestureRecognizers等。
Tick counter:累計已經被加載的代碼修改次數。
控件
Button
[cpp] view plaincopy在CODE上查看代碼片派生到我的代碼片
KZPAction(@"Press me", ^{
// Magic code
})
Images
從庫中選擇圖像
[cpp] view plaincopy在CODE上查看代碼片派生到我的代碼片
KZPAdjustImage(myImage);
KZPWhenChanged(myImage, ^(UIImage *img) {
imageView.image = img;
});
Values
[cpp] view plaincopy在CODE上查看代碼片派生到我的代碼片
KZPAdjustValue(scale, 0.5f, 1.0f) //- for floats
KZPAdjustValue(position, 0, 100) //- for integers
你也可以自己設置默認值:
[cpp] view plaincopy在CODE上查看代碼片派生到我的代碼片
KZPAdjustValue(position, 0, 100).defaultValue(50)
Block回調,KZPAdjust也是可用的。
動畫
Block動畫回調,當每個屏幕刷新時代碼都將被執行。
[cpp] view plaincopy在CODE上查看代碼片派生到我的代碼片
KZPAnimate(CGFloat from, CGFloat to, void (^block)(CGFloat));
KZPAnimate(void (^block)());
動畫值自動更新,定義新變量并自動設置它們的動畫。
[cpp] view plaincopy在CODE上查看代碼片派生到我的代碼片
KZPAnimateValue(rotation, 0, 360)
KZPAnimateValueAR(scale, 0, 1)
協調代碼執行
值被設置時執行代碼
[cpp] view plaincopy在CODE上查看代碼片派生到我的代碼片
KZPWhenSet(myImage, ^(UIImage *img) {
//! magic
});
值變動時執行代碼
[cpp] view plaincopy在CODE上查看代碼片派生到我的代碼片
KZPWhenChanged(myImage, ^(UIImage *img) {
//! magic
});
本站文章版權歸原作者及原出處所有 。內容為作者個人觀點, 并不代表本站贊同其觀點和對其真實性負責,本站只提供參考并不構成任何投資及應用建議。本站是一個個人學習交流的平臺,網站上部分文章為轉載,并不用于任何商業目的,我們已經盡可能的對作者和來源進行了通告,但是能力有限或疏忽,造成漏登,請及時聯系我們,我們將根據著作權人的要求,立即更正或者刪除有關內容。本站擁有對此聲明的最終解釋權。