Swift初窥----Playground

Playground是随着Swift在WWDC2014推出的,从字面意思来理解,"playground"就是操场,游乐场的意思。在Swift中,这个"游乐场",可以一边写代码,一边预览效果,实现“所见即所写”,这给程序员带来的方便是不言而喻的,通过两张图来对比:

从6步,简化成两步,是不是很酷?除了酷,Playground是可以应用在实际开发中的,在两个地方使用效果很好:用来快速预览界面控件效果,用来调试复杂算法。

现在来点干货,

预览imageview

let imageNames = [NSImageNameUser,NSImageNameUserAccounts,NSImageNameUserGroup]
let images = imageNames.map{NSImage(named:$0)};
images
let image = images[0]
let imageView = NSImageView(frame:NSRect(x: 0,y: 0,width: 512,height: 512))
imageView.image = image
imageView.imageScaling = .ImageScaleProportionallyUpOrDown

预览tableview

import UIKit
var str = "Hello, playground"

class DataSource: NSObject,UITableViewDataSource{

    func tableView(tableView: UITableView!, numberOfRowsInSection section: Int) -> Int{
        return 4
    }
    func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell!{
        let row = indexPath.row
        let style = UITableViewCellStyle.fromRaw(row)
        let cell = UITableViewCell(style: style!,reuseIdentifier: nil)
        //let cell = UITableViewCell(style: .Default, reuseIdentifier: nil)

        cell.textLabel.text = "Text1"

        if let detailTextLabel = cell.detailTextLabel{
            detailTextLabel.text = "Detail Text"
        }
        return cell
    }

}

let ds = DataSource()
let tableView = UITableView(frame: CGRect(x:0, y:0, width: 320,height: 240), style: .Plain)
//let tableView = UITableView(frame: CGRectMake(0.0,0.0,320.0,240.0), style: .Plain)
tableView.dataSource = ds
tableView.reloadData()

Playground支持的数据类型:

Playground的局限:

1 无法直接将playground文件直接用到工程中,但可拷贝粘贴code进工程。

Q&A

1 导入UIKit失败

在playground中输入

import UIKit

出现"No such module UIKit"错误,解决方法是,将platform 设为iOS(默认是OS X)

打开File Inspector,如下图设置

Swift初窥----Playground,布布扣,bubuko.com

时间: 2024-08-26 06:02:08

Swift初窥----Playground的相关文章

Swift初窥

Swift是什么? Swift是Apple在WWDC2014所发布的一门编程语言,用来撰写OS X和iOS应用程序.在设计Swift时.就有意和Objective-C共存,Objective-C是Apple操作系统在导入Swift前使用的编程语言Swift是Apple在WWDC2014所发布的一门编程语言,用来撰写OS X和iOS应用程序.在设计Swift时.就有意和Objective-C共存,Objective-C是Apple操作系统在导入Swift前使用的编程语言. Swift的第一印象 

Swift初窥----深入Swift

存储函数 内存中的Fibonacci函数,避免重复递归,来提高代码执行效率 模板 编译器 Swift编译器,使其可以编译出更快的机器代码 Swift初窥----深入Swift,布布扣,bubuko.com

Swift初窥----语法

Swift知识点 下面来点实际写Swift代码要用到的,首先Swift是没有头文件的,没有.h文件. 变量声明 Swift的变量声明有两个关键字,var和let,其中var和javascript中的差不多,可以声明任何类型的对象,还可以通过var mystring:String 来指定类型. var myVariable = 42 myVariable = 50 let myConstant = 42 函数 Swift的函数表达,与javascript的关键字是一样的,都是func,然后接函数名

Swift初窥--使用Swift实现TableView

完毕Swift的语法关之后.来点实际的Task,第一个任务是写一个tableview,使用cocoaTouch里tableview这个经常使用的控件. 创建project.选择Swift语言 首先是用Obejctive-C写的最简单的tableview 点击下载源代码 然后是Swift写的tableview 点击下载源代码

Swift初窥----语法进阶

缺省绑定(Optional Binding 自己主动置空) 通过在类型变量后,加上?,能够实现缺省绑定为nil var window: UIWindow? 就是说,假设不正确window赋值,则window的值为nil. 这与Objective-C中在ARC模式下自己主动置nil的原理是不同的,在Swift中有NilType,其逆操作是取值(Unwrapping Optionals) 取值(Unwrapping Optionals) 能够使用!将window变量中(其已缺省绑定)中的非空值取出,

Scrapy 1.4 文档 01 初窥 Scrapy

初窥 Scrapy Scrapy 是用于抓取网站并提取结构化数据的应用程序框架,其应用非常广泛,如数据挖掘,信息处理或历史存档. 尽管 Scrapy 最初设计用于网络数据采集(web scraping),但它也可用于使用 API(如 Amazon Associates Web Services)提取数据或用作通用的网络爬虫. 爬虫(spider)示例 为了向您展示 Scrapy 带给您的是什么,我们将使用最简单的方式运行一个爬虫,向您展示一个 Scrape Spider 的例子. 这是一个爬虫的

jQuery源码学习(2):选择器初窥

选择器初窥 代码架构: jQuery选择器可以依照传入数据的类型分为五大类: 传入字符串:$("div"), $("#id"), $(".div1"),$(".div p.title") 传入html代码:$("<div></div>"), $("<div>1</div><div>2</div>") 传入对象:$(d

Boost.ASIO简要分析-1 初窥

Boost.Asio是一个主要用于网络及底层I/O编程的跨平台C++库. 1. 初窥 Boost.Asio支持对I/O对象进行同步及异步操作. 1.1 同步操作 同步操作的事件顺序如下图所示: 1) 调用者调用I/O对象的connect函数开始连接操作,socket.connect(server_endpoint): 2) I/O对象将连接请求传递给io_service: 3) io_service调用操作系统函数: 4) 操作系统返回结果给io_service: 5) io_service将结

初窥netfilter/iptables

做这个东西太麻烦了,一不小心,就被自己关门外了. ---------------------------------------------- 一.前言 二.环境 三.语法解析 四.配置及测试 1.SNAT案例 2.DNAT案例 3.SSH案例 4.SSH深入案例(自定义规则) 5.web和ftp(自定义规则) 6.web和ftp(系统默认规则) 五.保存 ---------------------------------------------- 一.前言 iptables即Linux 内核集