
Swift
文章平均质量分 62
水清_木秀
做我所爱,爱我所做。
展开
-
Swift基本运算符
//========================================================= /* 赋值运算符 = */ let a = 12 var b = 13 let c = b var d =原创 2015-07-15 13:29:23 · 478 阅读 · 0 评论 -
OC与swift3.1混编
自从2015年7月,本人写了第一篇swift的文章到现在已经很久没有更新关于swift的内容。每当swift1 -> swift2 -> swift3的时候都有一股莫名的...swift的学习学了不用,进步始终是甚微的。还是要在真正的项目中使用才会进步更快。以往的项目大都是OC开发的。那么先使用swift开发一些修改密码等操作来使二者慢慢结合是个不错的选择。============原创 2017-05-22 16:59:35 · 747 阅读 · 0 评论 -
Swift 闭包
//闭包参数类型func hasClourseMatch(arr:[Int], value:Int, cb:(num:Int , value:Int) -> Bool) -> Bool{ for item in arr{ //只是调用cb闭包closure里面的函数,不管如何实现。 //原创 2015-11-27 12:07:46 · 404 阅读 · 0 评论 -
swift中的自动引用计数以及出现的问题
/** Swift的ARC机制只是对于基于引用计数的对象才有效,对于基于值拷贝的,比如struct,enum是无效的。 位拷贝就是浅拷贝,值拷贝就是深拷贝。值拷贝后出现一个新的数,不走引用计数。 如果旧值被新值覆盖,那么旧的对象就会被销毁。 */ /** 循环强引用是在两个类对象属性互相保持对方的强引用时产原创 2015-11-26 12:28:56 · 357 阅读 · 0 评论 -
swift可选链和类型转换
/** 可选链是swift特有的语法格式。如果有值就返回值,没有就返回nil。 当可选值为空时,可选链即刻失败 可怜的使用就是在可选属性调用的时候,前面加上if如果有的话就执行代码,else在里面执行没有值时的代码。 */ class Person { var原创 2015-11-26 15:36:36 · 380 阅读 · 0 评论 -
Swift协议 (待继续学习)
protocol SomeProtocol{ var ID:Int {get} //get属性是可读的。但是为其实现了setter方法,也不会出错。 var name:String {set get} //set get属性是可读可写的 func letGoTo() }原创 2015-11-26 18:35:21 · 490 阅读 · 0 评论 -
swift析构方法和扩展
/** 析构方法。 目的:对象内存在系统回收之前做一些收尾的工作,比如关闭文件,断开网络连接,释放对象持有的一些资源等工作。 Swift的内存管理方式是ARC。所以析构方法的主要工作并不是内存管理,而是一些其他操作。 */ /** 析构方法的自动继承。 父类的析构方法会自动被子类所继承。原创 2015-11-25 18:58:49 · 626 阅读 · 0 评论 -
swift继承
/** 重写属性。同时又会有一些限制: 【1】属性中如果有setter方法,则必须同时提供getter方法 【2】不可以将父类中的读写属性重写成只读属性,但是可以讲父类的只读属性重写成读写属性。 */ class BankAccount { //余额 var accou原创 2015-11-25 14:56:31 · 375 阅读 · 0 评论 -
swift构造方法
class Human { var name:String? var age:Int? //正常构造 init(name:String,age:Int){ self.name = name; self.age = age;原创 2015-11-25 17:56:31 · 377 阅读 · 0 评论 -
subscript下标
class Student { var stuId:Int? var name:String? init(name:String,id:Int){ self.stuId = id; self.name = name; }原创 2015-11-25 12:00:15 · 492 阅读 · 0 评论 -
Swift类方法
/* 方法是用来描述对象所具有的动作的能力 【1】定义方式和调用方式 【2】方法的参数名命名规则 【3】self属性 【4】mutating关键字 [struck中] 对于值拷贝类型的复合类型,这里主要是结构体和枚举两类。在其对象方法中是无法对对象属性进行修改的,为了能够进行修改操作,在定义前添加mutating关键原创 2015-11-25 10:59:13 · 664 阅读 · 0 评论 -
swift 1.0更新为2.0后的变化
很久没看swift。println已经变成了print了。定义属性不用现在也会有警告了。字符串的长度从以前的count(str) 变成现在的str7.characters.count了。字符串从大写变为小写的方法从lastPathComponent变成了现在的lowercaseString字符串转化为int类型,从以前的.toInt()变成了现在的.hashValue原创 2015-11-23 17:39:36 · 887 阅读 · 0 评论 -
swift类
Swift中类和结构体有很多共同点。共同处在于: 定义属性用于储存值 定义方法用于提供功能 定义下标用于通过下标语法访问值 定义初始化器用于生成初始化值 通过扩展以增加默认实现的功能 符合协议以对某类提供标准功能 相对于结构体来说,类是引用类型。结构体是值拷贝类型。类的对象是指针的引用,原创 2015-11-24 11:40:47 · 484 阅读 · 0 评论 -
Swift类属性
/** 在进行类的定义时,可以定义三种属性:对象属性,计算属性,类属性 【1】常量属性。 常量属性在对象被创建出来以后就不能再被修改 常量属性有三种属性:1.基本数据类型。2.结构体或者枚举等值类型实例。3.引用类型实例。 【2】常量属性的赋值方法。要想设置常量属性的值。需要在初始化的时候进行。原创 2015-11-24 16:07:57 · 609 阅读 · 0 评论 -
Swift类型定义
/=======================整形============================== /* 整形:有符号整形,无符号整形 8位,16位,32位,64位 //- 2^(n-1)~ 2^ (n-1) -1 //比如8原创 2015-07-15 13:24:29 · 688 阅读 · 0 评论 -
Swift 字典Dictionary
//===============================字典 Dictionary=================================== /* 在Swift中,字典的键值可以是任意类型,但是键必须实现哈希协议 Hashable 正确使用字典的前提条件: 【1】键值对的键和值原创 2015-07-15 14:26:04 · 814 阅读 · 0 评论 -
Swift 数组Array
//===============================数组 Array=================================== //在Swift中,数组中存放的元素的数据类型必须是一样的,而且可以存放基本数据类型。也可以存放类的对象。 var list = [12,14,17]; /原创 2015-07-15 14:24:32 · 627 阅读 · 0 评论 -
Swift 字符串String
//===============================字符串 String=================================== var str1 = "hello world"; /* \0 空格符 \\ 反斜线原创 2015-07-15 14:23:22 · 498 阅读 · 0 评论 -
swift使用masnory进行布局
说起OC的autoLayout,自然想起来的就是Masnory。而swift则有与之对应的SnapKit。但是对于以往用OC的老项目,如果再添加SnapKit这个库就显得第三方库有些多,如果用Masnory进行swift的布局就可以了。答案是肯定可以的。本文贴下的代码,基本就包含了所有的布局方式了。原创 2017-05-22 18:30:50 · 943 阅读 · 2 评论