Swift
渔歌子Q
而立之年,追梦,追逐时代的步伐!
展开
-
Swift-泛型
//********************************////泛型://可以理解为一种通用的模板,适用于任何的函数和类型的模板//格式:在函数名或类型名后写,T是随意一个字符//实例化时,需要在类型名后跟如下面的Stack////********************************//例子:非泛型的栈结构的结构体(比如Int原创 2015-01-06 19:51:38 · 405 阅读 · 0 评论 -
Swift-Excel转csv再转UTF-8
excel另存为csvcsv文件的后缀名改为txt打开txt,选择另存为UTF-8格式(这步貌似要在win下面才能完成)然后就可以使用NSString的contentsOfFile方法获取了再配合分割字符串方法,即可得到具体字符 let manage =NSBundle.mainBundle()let filePath = manage.pathForResource("xx原创 2015-02-09 22:55:43 · 1687 阅读 · 0 评论 -
Swift-关联类型
//***********************************////关联类型// 20150106我的理解:类似是协议里面的泛型类型//定义协议时使用关联类型,就不必指定专门的类型,灵活性更高////***********************************////下面的例子里,Container协议定义了一个ItemType关原创 2015-02-23 12:23:08 · 1055 阅读 · 0 评论 -
Swift-扩展
//********************************//// 扩展-extension的功能:// 1.添加计算属性和静态计算属性// 2.定义实例方法和类型方法// 3.提供新的构造器// 4.定义下标// 5.定义和使用新的嵌套类型// 6.使一个已有类型符合某个协议//// 扩展的代码跟被扩展者可以不在一个文件内原创 2015-01-04 20:58:46 · 522 阅读 · 0 评论 -
Swift-高级运算符
//***********************************//// 高级运算符// &+ :向上溢出// &- :向下溢出// &/ :除零溢出,0作为被除数时结果是0// &% :模零溢出,对0求余结果是0////*********************************** var wil原创 2015-02-24 11:57:13 · 530 阅读 · 0 评论 -
Swift-函数式编程、捕获、闭包内存管理
import UIKit var words = ["abd","angry","anger","hungry"]words.filter{ (a: String) ->Boolinreturn a =="abd" }//按闭包的规则筛选 .map{ (a:String)->Stringinreturn a+"C" }原创 2015-01-24 21:16:31 · 685 阅读 · 0 评论 -
Swift-类型约束
//***********************************////类型约束//指必须继承指定的类或者遵循特定的协议//语法:// funcsomeFunc(someT: T, someU: U){}//表示函数有两个参数someT和someU,类型分别是T和U,其中T是SomeClass子类,U遵循SomeProtocol////**原创 2015-02-14 00:02:42 · 935 阅读 · 0 评论 -
Swift-属性-Properties
//-----属性观察-----//StepCounter1使用计算属性的set方法//StepCounter2使用属性观察didSet方法//属性观察可用于全局变量和本地变量,全局变量实在函数、方法、闭包或任何类型之外定义的变量;本地变量实在函数、方法或闭包内部定义的变量//全局常量或变量都是延迟计算的 class StepCounter1 { var in原创 2015-01-07 20:38:31 · 515 阅读 · 0 评论 -
Swift调用OC之NSSet
//*************************************//// Swift调用OC之NSSet//// 1.NSSet是一个无序对象的集合,集合内元素是唯一// 2.NSSet初始化// 3.NSSet常用的属性和方法// --获得集的元素个数// --获得集中所有元素组成的数组// --判断集合内是否存在指定元素-->返回B原创 2015-03-10 21:23:47 · 1412 阅读 · 0 评论 -
Swift调用OC之文件操作1
//***************************************************//// >>>>>>>Swift调用OC之文件操作1////// **** 本节内容 ****//// 1.应用的目录结构// 2.访问文件// 3.NSURL和NSURLComponents//////*************原创 2015-03-16 20:06:49 · 1250 阅读 · 0 评论 -
Swift调用OC之数据存储-NSData
//*************************************//// Swift调用OC之数据存储NSData//// NSData的对象可以看做是缓冲区// NSData是静态缓冲区(大小固定),NSMutableData是动态的// // 1.创建NSData// 2.访问数据(读取NSData)// 3.比较数据是否相同// 4.字节原创 2015-03-11 20:23:18 · 2383 阅读 · 0 评论 -
Swift调用OC之NSDictionary
//*************************************//// Swift调用OC之NSDictionary//// 1.NSArray与Array的互相转换// 2.NSDictionary初始化// 3.NSDictionary常用的属性和方法// --获得成员个数// --获取Key或Value组成的数组(swiftDictiona原创 2015-03-08 09:56:22 · 1473 阅读 · 0 评论 -
Swift调用OC之NSArray
//**********************//// Swift调用OC之NSArray//// 1.NSArray与Array的互相转换:// 2.NSArray初始化// 3.NSArray的常用属性和方法// --获取成员个数// --获取数组第一个元素// --获取数组最后一个元素// --获取指定区间的子数组:objec原创 2015-03-02 19:58:57 · 1205 阅读 · 0 评论 -
Swift调用OC之NSString
//*******************//// Swift调用OC之NSString////*******************import Foundation//必须的 var int1 =100var string =NSString(format:"%@, %@, %i","Hello","WOrld",int1)//"Hell原创 2015-02-25 22:27:01 · 1413 阅读 · 0 评论 -
Swift调用OC之文件操作-NSBundle
//***************************************************//// >>>>>>>Swift调用OC之文件操作-NSBundle//// NSBundle内含有:// -- info.plist:这是必须要有的文件,用来配置应用的基本参数信息// --可执行文件// --资源文件:如图像原创 2015-04-30 21:30:39 · 4253 阅读 · 0 评论 -
Swift调用OC之文件操作-NSFileHandle
//***************************************************//// >>>>>>>Swift调用OC之文件操作-NSFileHandle////对文件内容数据的操作// FileHandle-文件句柄有个活动指针,指向当前文件内数据的偏移量// **** 本节内容 ****//// 1.文件内容定位原创 2015-04-21 23:04:57 · 1437 阅读 · 0 评论 -
Swift调用OC之文件操作-NSFileManager
//***************************************************//// >>>>>>>Swift调用OC之文件操作-NSFileManager//// **** 本节内容 ****//// 1.目录查询// 2.路径查询// 3.路径操作// --创建目录// --创建文件// --拷贝/删除原创 2015-04-20 20:45:18 · 1812 阅读 · 0 评论 -
Swift-枚举
enum枚举变量类型名:Int { case枚举值1 =1 case枚举值2 =2,枚举值3 =3,枚举值4 =4 case枚举值5 =5,枚举值6,枚举值7 //如果枚举值是顺序变化的,可以缩写 } //====================================原创 2015-01-03 16:26:41 · 564 阅读 · 0 评论 -
Swift-类型嵌套
//***********************************////// 类型嵌套////***********************************// struct BlackjackCard { //嵌套定义枚举类型Suit(花色) enum Suit: Character{原创 2015-02-09 19:52:13 · 501 阅读 · 0 评论 -
Swift-字典
//字典是无序集合//声明&初始化var dict00400 =DictionaryInt,String>()var emptydict = [Int,String]()var dict0040:DictionaryString,Int>=["AA":11,"BB":66]var dict0041:[String:Int]=["AA":11,"BB":66]var原创 2014-12-14 11:36:18 · 507 阅读 · 0 评论 -
Swift-条件语句&循环
//****************条件语句***************** var legcount=19 //变量,可以是整形,也可以是字符串switchlegcount { case 0: println("AAA") break //swift中可以不写 case 1:原创 2014-12-16 21:08:47 · 565 阅读 · 0 评论 -
Swift-闭包
//---------闭包-Closures-------//一个无参数无返回值的代码段/函数/方法,用来传递数据 let ggpp1:()->()={ println("我是一个闭包ggpp1")}let ggpp2={ println("我是一个闭包ggpp2")}var ggpp3={ println("我是一个闭包ggpp3"原创 2014-12-18 19:31:26 · 465 阅读 · 0 评论 -
Swift-重写-override
//定义一个基类class Vehicle { var numberOfWheels:Int var maxPassengers:Int func description() ->String { return"\(numberOfWheels)wheels; up to \(maxPassengers) passen原创 2015-01-09 20:42:02 · 6707 阅读 · 0 评论 -
Swift-类
class Class1 { //类文件名可以与类名不一样 //properties属性 //methods方法 //initializers初始化} //继承class Vehicle:NSObject { //NSObject可以省略 //} class bicycle:Vehicle {原创 2014-12-20 22:08:17 · 482 阅读 · 0 评论 -
Swift-匹配-Matching
enum TrainStatus { case OnTime case Delayed(minutes: Int) //关联值:Int 参数名minutes可写可不写 init(){ //设置默认值 self = OnTime } var desc: String{ switch self{原创 2015-01-31 20:26:43 · 516 阅读 · 0 评论 -
Swift-协议
//********************************////协议用于声明方法和属性,但不实现功能//类、枚举、结构体都可以遵循协议//遵循者需要提供属性和方法////********************************//定义协议://protocolProtocol1 {// //协议内容//}//prot原创 2015-02-01 12:23:53 · 637 阅读 · 0 评论 -
Swift-下标-subscript
import UIKit //数组和字典的取值都是用的下标//可以自定义下标的具体实现//可以为类、结构体和枚举定义下标//下标的形参和返回值都是可以任意类型的。//下标可以使用变量参数和可变参数,但不能使用输入输出参数//===下标语法===/*subscript(index:Int) -> Int { get{ //返回与形参匹配的原创 2015-01-12 20:34:07 · 635 阅读 · 0 评论 -
Swift-代理-delegate
//*****************************************************************////代理:delegate//代理是一种设计模式,它允许类或结构体将一些需要他们负责的功能交给其他的类型//代理的实现:定义协议来封装那些需要被代理的函数和方法,使其遵循者拥有这些被//代理的函数和方法////****原创 2015-02-02 20:47:18 · 643 阅读 · 0 评论 -
Swift-结构体
//定义结构体理解为定义一种类型struct Point{ var x,y:Double} struct Size { var width, height:Double} struct Rect1{ var origin:Point var size:Size} //初始化(方法是系统自带的);也可以有自定原创 2014-12-27 18:07:06 · 492 阅读 · 0 评论 -
Swift-初始化-initialize
import UIKit //为储值属性设置默认值或在构造器(init)中为其赋值时,是不会触发属性观察的。 struct Color { var color: String} class Car { var paintColor:Color func fillGasTank() {} init(CarCol原创 2015-01-18 20:32:17 · 1534 阅读 · 0 评论 -
Swift-数组&集合
//声明&初始化var array003:[String]=[]var array0031=[String]()varnewarray = [Double](count:4, repeatedValue:1.1) //创建特定大小和内容的数组//或者Array(count: 4, repeatedValue: 1.1)var intarr1: [Int]=[]v原创 2014-12-14 19:02:26 · 542 阅读 · 0 评论 -
Swift-可选链2
//*************************//// 先定义三个类////*************************class Room { var name: String init(name: String){ self.name= name }} class Residenc原创 2015-01-17 16:29:56 · 522 阅读 · 0 评论 -
Swift-函数、方法
//------------无参数------------func sayhelloo(){ println("hello!")}sayhelloo() //------------有参数------------func sayhello(name:String){ println("\(name) hello!")}sayhello("原创 2014-12-30 23:09:20 · 499 阅读 · 0 评论 -
Swift-类型转换
import UIKit//***************************//// 1.定义基类MediaItem// 2.定义子类Movie// 3.定义子类Song////*************************** class MediaItem { var name: String ini原创 2015-02-07 16:23:12 · 434 阅读 · 0 评论 -
Swift-内存管理
//内存管理/自动引用计数/弱引用/非持有引用 //引用计数:每个对象都有一个引用计数,用来记录有多少人(对象或变量)需要该对象活着//当引用计数>0的时候,该对象会保留在内存中//当引用计数=0的时候,该对象会立刻从内存中销毁 //自动引用计数不等于垃圾回收机制,垃圾回收机制是内存使用特别大/紧缺时,会检查各种结构(比如堆栈)、对象,在需要清理时给予清理 //弱引原创 2015-01-19 22:55:45 · 554 阅读 · 0 评论 -
Swift-可能值1-可选绑定-可选链
//场景:用户输入姓名,可能可以转换为数字,也可能不行//letage = response.toInt() var optionalNumber:Int? //默认初始化为nil let response ="字符串"let age =response.toInt() //一个查找的方法,可能查不到值,那么返回值可以设置为可能值func F原创 2015-01-15 19:48:39 · 746 阅读 · 0 评论 -
Swift#使用字典实现属性列表的存储
import UIKit class ViewController:UIViewController { //定义常量/宏 let KNAME = "KNAME" let KBIRTH = "KBIRTH" let KSEX = "KSEX" let KNUMBER = "KNUMBER"原创 2015-06-02 22:45:09 · 846 阅读 · 0 评论