在Ubuntu 15.04上 使用Atom 和 LLDB 调试 Swift 程序
目前在 Linux 上没有一个可用的 Swift IDE,而且不断地在文本编辑器和终端之间切换让我感觉相当蛋疼。之前从来没用过Atom,但我想看看是否不辜负这货的名字。我就带各位一起把 Swift Package Manager 和 LLDB 装Atom 吧!原文:https://medium.com/@Aciid/hacking-atom-to-create-a-swift-ide-that-runs-on-linux-and-mac-c7d9520a0fac#.fzyg41yh9如图:
Swift - 使用arc4random()、arc4random_uniform()取得随机数
arc4random() 这个全局函数会生成10位数的随机整数(UInt32)。其生成的最大值是4294967295(2^32 - 1),最小值为0。1,下面是使用 arc4random 函数求一个 1~100 的随机数(包括1和100)let temp = Int(arc4random()%100)+12,下面是使用 arc4random_uniform 函数求一个 1~100 的随机数(包括1和100)let temp = Int(arc4random_uniform(100))+1
Swift - 协议(protocol)
1,Swift中协议类似于别的语言里的接口,协议里只做方法的声明,包括方法名、返回值、参数等信息,而没有具体的方法实现。
Swift - 类扩展(extension)
Swift语言的类扩展是一个强大的工具,我们可以通过类扩展完成如下事情:1,给已有的类添加计算属性和计算静态属性2,定义新的实例方法和类方法3,提供新的构造器4,定义下标脚本5,是一个已有的类型符合某个协议(注意:扩展只能添加新的计算型属性,不能添加存储型属性,也不能添加新的属性监视器)示例1:给字符串String类添加下标脚本,支持索引访问
Swift - 访问控制(fileprivate,private,internal,public,open)
在Swift语言中,访问修饰符有五种,分别为fileprivate,private,internal,public和open。其中 fileprivate和open是Swift 3新添加的。由于过去 Swift对于访问权限的控制,不是基于类的,而是基于文件的。这样会有问题,所以Swift 3新增了两个修饰符对原来的private、public进行细分。一、各个修饰符区别1,privateprivate访问级别所修饰的属性或者方法只能在当前类里访问。2,fileprivatefileprivate访问级别所修饰...
Swift - 类和结构体的区别
类和结构体有许多相同之处,也有许多不同之处。二者区别如下:类可以继承,结构体不可以可以让一个类的实例来反初始化,释放存储空间,结构体做不到类的对象是引用类型,而结构体是值类型。所以类的赋值是传递引用,结构体则是传值。相同点:
Swift - 类的计算属性(使用get和set来间接获取/改变其他属性的值)
1,Swift中类可以使用计算属性,即使用get和set来间接获取/改变其他属性的值,代码如下class Calcuator{ var a:Int = 1; var b:Int = 1; var sum:Int{ get{ return a + b } set(val){ b = val - a } } } let cal = Calcuator(); print...
Swift - 类型属性(类静态属性)和类方法(类静态方法)
1,结构体struct和枚举enum的静态属性,静态方法使用static关键字struct Account { var amount : Double = 0.0 //账户金额 var owner : String = "" //账户名 static var interestRate : Double = 0.668 //利率 static func interestBy(a...
Swift - 属性观察者(willSet与didSet)
属性观察者,类似于触发器。用来监视属性的除初始化之外的属性值变化,当属性值发生改变时可以对此作出响应。有如下特点:不仅可以在属性值改变后触发didSet,也可以在属性值改变前触发willSet。给属性添加观察者必须要声明清楚属性类型,否则编译器报错。willSet可以带一个newName的参数,没有的话,该参数默认命名为newValue。didSet可以带一个oldName的参数,表示旧的属性,不带的话默认命名为oldValue。属性初始化时,willSet和didSet不会调用。只有在初始化上下文之外,当设...
Swift - 类初始化和析构方法(init与deinit)
1,init():类的初始化方法(构造方法)/******************************** 使用默认构造函数 ********************************/ class Student{ //类属性 var name:String = "" var number:Int = 0 } var student = Student() /******************************** 自定义构造函数 *****...