![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Swift4.0
yingBi2014
这个作者很懒,什么都没留下…
展开
-
Swift4.0 外部参数
函数的参数有内部参数和外部参数之分,外部参数用于调用函数时函数参数的提示,内部参数用于函数内部实现时使用例如func sumFunc(number1 a:Int , number2 b:Int)->Int{ return a+b}let sumNum = sumFunc(number1: 10, number2: 11)print(sumNum)内部实现时用a 和b,当外部调用...原创 2018-03-13 11:06:02 · 424 阅读 · 0 评论 -
Swift中属性的几种初始化方式
Swift中的属性可以用可选项(?)和感叹号(!)来标识, 在Swift中的初始化方法中(init中),必须对属性赋初值,但是有以下几种避免的方法。1、将属性标识为可选项(?),这样,属性有一个默认的nil初始值。 2、将属性标识为肯定有值,用感叹号(!)标识,需要注意的是,感叹号表示的是必须有值,一旦你使用一个属性是感叹号标识,但是该属性又为空的话,会发生运行时错误。 3、设置初始值,...原创 2018-05-31 10:17:47 · 3001 阅读 · 0 评论 -
iOS 关于NSDate的时区转换差值问题和转换字符串时间
1、标准时间也叫格林尼治时间,北京所在的东八区时间比标准时间快八个小时。 例如:标准时间为 2000年1月1日 00:00:00 对应的北京时间为2000年1月1日 08:00:00 2 、iOS系统中直接生成的时间都是格林尼治时间,比当前时间(北京时间)小八个小时。 通过Date.init()生成的时间为当前时区的时间所对应的格林尼治时间 通过UIDateP...原创 2018-06-13 12:09:23 · 1813 阅读 · 0 评论 -
Swift 重载函数和重写函数以及final的使用
当子类B继承自父类A时,子类不但继承父类的属性,还继承了父类的方法。可以再子类中重载和重写父类的方法。 重载: 1、不需要加override, 2、函数名和父类相同,参数可以不同, 3、可以为子类在创建时添加额外的属性,属性可以通过外部传入 4、OC 不支持函数重载,OC 的替代方式是 withXXX… 重写(覆盖): 1、需要标识overrid...原创 2018-05-16 16:03:09 · 1404 阅读 · 0 评论 -
Swift 数据转模型之Codable使用
本篇介绍数据转模型Codable的使用,Codable是苹果自带的基于KVC编码的数据转换模型的协议。 先创建对应的modellet dic = ["name":"wall" , "age":"22" , "h":"170"]//转为data数据,这里其实要判断data是否为nillet data = try? JSONSerialization.data(withJSONObj原创 2018-05-11 15:48:14 · 3657 阅读 · 0 评论 -
Swift 整数相除返回保留两位小数的浮点数
两个Int型的数相除,要先转换为Float,然后再进行运算,用String的构造方法保留两位小数,再将String转换为Float let num1 = 12345 let str = String(format: "%.2f", Float(num1)/1000) let num2 = Float(str) print(num2!...原创 2018-05-04 18:59:10 · 21732 阅读 · 0 评论 -
Swift 条件判断中使用逗号连接可选项展开代替多个if嵌套判断
在Swift中,因为有可选项的存在,当我们用到一个可选项类型时,可以用if let进行可选项展开,也可以判断是否为nil,然后再强制展开使用,代码如下:var name:String? //方法1 if let n = name { //如果name不为nil,则执行这里,这里直接使用n,是解包后的 print(...原创 2018-05-11 11:51:35 · 3839 阅读 · 1 评论 -
Swift项目中使用OC混编--创建桥接文件和使用Cocoapods设置User Header Search Paths
> 如果项目是Swift项目,想引用OC写的类库时,需要创建桥接文件。 桥接文件创建有两种方法: 1、直接在swift项目中创建oc的类,会弹出提示没直接选择创建桥接文件,Xcode会自动帮你创建好并进行配置。 2、自己手动创建并配置,名字自己起, 然后进行配置,Target->Build Setting->Objective-C Bridging ...原创 2018-04-26 14:07:45 · 2855 阅读 · 0 评论 -
Swift头文件引入和全局变量、宏定义功能文件
Swift中不需要互相引入头文件,但是一些全局的常量和宏我们可以写在一个公共的文件中,用来替代OC中pch文件的作用。1、创建普通的comman.swift文件 2、在comman文件中定义全局参数和常用宏对于一些常用参数,可以直接使用常量设置,例如:///屏幕宽度let KScreenWidth = UIScreen.main.bounds.size.width...原创 2018-04-26 11:36:21 · 6931 阅读 · 0 评论 -
Swift Data和字符串互转
let str:String = "意大利"//字符串转Datalet data = str.data(using: String.Encoding.utf8)//Data转字符串let newStr = String(data: data!, encoding: String.Encoding.utf8)print("data=" , data! , "\n" , "newStr=...原创 2018-05-04 10:06:25 · 24300 阅读 · 0 评论 -
OC中使用Swift混编引入头文件
上篇讲了Swift中使用OC,Swift中使用OC,这篇讲下OC中使用Swift类。 在OC中需要用到Swift代码的文件中引入#import “XXX-Swift.h”,XXX是你的工程名称。 特别注意 1、被使用的Swift的类必须是至少继承自NSObject的,不然OC识别不了这个类。 2、Swift中的属性和方法,要加上@objc标识,不然识别不了。代码如下,Swift中定义了...原创 2018-05-09 14:00:01 · 2912 阅读 · 0 评论 -
Swift 网络请求库Moya的使用
Moya是Swift中的网络库Alamofire的二次封装,Alamofire本身使用起来是很简单方便的,例子如下:func loadData(){ var param = [String:String]() param["pageNo"] = "1" param["Type"] = "8" param["pageSize"]...原创 2018-05-02 17:36:14 · 4156 阅读 · 0 评论 -
Swift4.0概览(简单值、控制流、闭包和函数、对象和类、枚举和结构体、协议和扩展、错误处理和泛型) --(Swift中文手册)
简单值 使用let来声明常量,使用var来声明变量。var myVariable = 42myVariable = 50let myConstant = 42 声明的时候如果赋值的话,就不需要进行声明类型,因为Swift会根据赋值的类型自动进行类型推断。 如果初始值没有提供足够的信息(或者没有初始值),那你需要在变量后面声明类型,用冒号分割。let i...原创 2018-04-19 14:40:15 · 316 阅读 · 0 评论 -
iOS 在Xcode中使用Git进行本地版本控制--本地篇
1.为工程添加本地仓库新建工程时,在新建页面勾选创建本地仓库,如果项目已经存在,则在Source Control->Create Git Repositories中创建创建完之后,控制finder让其显示隐藏文件,在命令行输入显示隐藏文件并重启finder,可以看到项目中多了一个.git文件夹,所有的控制信息,数据都会存贮其内,Git仓库会管理你的程序版本以及跟踪代码的改变,可以将Git仓库...原创 2018-04-04 10:22:22 · 3813 阅读 · 0 评论 -
iOS 使用cocoapods导入ReactiveCocoa和ReactiveObjC框架
cocoapods使用ReactiveObjC -- 对应的是RAC的OC版本,最新3.1.0版本。ReactiveCocoa--对应的是RAC的swift版本,最新7.1.0版本。1.纯OC项目只需要引入ReactiveObjC,podfile文件如下platform :ios , "8.0"use_frameworks!target "RACTest" do pod 'ReactiveO...原创 2018-04-08 14:57:59 · 1367 阅读 · 0 评论 -
Swift SnapKit和xib自定义view的三种方法以及获取真实frame
demo下载地址 从xib中加载view,使用的是loadNibNamed方法,这个方法可以写在view的initWithFrame方法里,也可以写在initWithCoder里,也可以自己重新定义一个view的构造方法。我们这里用第三种方法来加载nib文件。 第一种,常用的xib自定义view首先创建一个纯代码view和一个xib的view,如图,并将xib中的view的clas...原创 2018-05-31 14:36:32 · 3223 阅读 · 0 评论