排序:
默认
按更新时间
按访问量

Swift 结构体 写时复制 - 学习Swift进阶

摘录来自: Chris Eidhof. “Swift 进阶”。 写时复制 (昂贵方式) 要实现写时复制,我们首先将 _data 标记为结构体的私有属性。我们不再直接变更 _data,而是通过一个计算属性 _dataForWriting 来访问它。这个计算属性总是会复制 _data ...

2018-03-27 17:48:41

阅读数:77

评论数:0

Swift 结构体

对 Swift 学习 的一些总结 学习文献: Chris Eidhof. “Swift 进阶” 类与结构体的主要不同点 语义: 类:引用类型(引用语义),需要自己管理其引用计数、引用值得变化 结构体: 值类型(值语义),在设计结构体时,我们可以要求编译器保证不...

2018-03-27 17:47:31

阅读数:265

评论数:0

Alamofire 、ObjectMapper封装

可以在debug模式下,可以选择测试url demo点这里 简介: 实现统一设置:超时时长、header、对code码的处理。。 统一对url进行了转码。(空格等特殊字符不崩溃) 使用简单,自动转化成为对象。(array,object,json) 对请求结果的清晰...

2018-01-11 20:25:36

阅读数:419

评论数:0

测试必备,自由切换账号、环境的组件(swift)

最好与AlamofierManager组合使用 请看demo 前言 在开发中,经常要切换环境,来测试各个环境下的代码。 总是改baseURL,然后运行,那不爽爆?写swift的小伙伴都懂 写一个后门儿,只有在debug模式下才会显示出来,并且可以选择相应的url。 ...

2018-01-11 20:23:42

阅读数:157

评论数:0

swift用cocoaPods 打包静态库 (OC 与 Swift ,其实是一样的)

步骤、1. 创建文件夹,用于承载项目2. 打开终端,并且cd 到你的文件夹3. 终端执行语句创建项目: pod lib create 你的项目名 `等创建完成后,会自动打开项目。 在终端弹出 4.设置打开项目中的: .podspec文件# pod库名s.name = 'PY...

2017-12-18 11:06:17

阅读数:216

评论数:0

抽屉效果的tableview功能组件:PYScalableTableView

抽屉效果的tableview功能组件:PYScalableTableView

2017-10-25 17:46:29

阅读数:135

评论数:0

OC_转场动画的工具类(无交互)

转场动画的学习 请看简书iOS CAAnimation之CATransition(自定义转场动画) 一、思路 . a跳转b 1. a: a可以什么都不用做,直接present, 2. b: b要在init方法里面 写这两个方法, 这个方法保证fromView才不会被移...

2017-09-18 19:11:50

阅读数:278

评论数:0

swift 初级语法

一、 变量初始化 普通变量 let a: NSInteger = 0 // let / var 可变/不可变, a 名字,NSInteger 类型 私有属性private var a: NSDate = NSDate() 在var或者let前面加private * 1....

2017-09-18 19:11:11

阅读数:269

评论数:0

关于cocoapods的安装(重点在于坑)

安装cocoaPods1.Ruby镜像 输入以下命令查看当前的ruby源 gem sources -l 如果输出的是 *** CURRENT SOURCES *** https://rubygems.org/ 那么需要更新一下ruby的源,过程如下 #(移除当前ruby...

2017-09-18 19:10:33

阅读数:1026

评论数:1

倒计时工具类:PYContDownManager

左边是输出台,右边是tableView,点击后modal了一个控制器,停止了计时器 一、主要功能 对于tableViewCell中,总会碰见有多个cell随机计时的问题,于是写了一个工具类。 里面封装了停止倒计时和开始倒计时。提供了倒计时的单位计时时间,以及距离当前时间还剩多长时间...

2017-09-18 19:09:17

阅读数:266

评论数:0

如果处理服务器与客户端时间不一致的问题

前一段时间做了一个倒计时的功能,要求每个tableViewcell里面都嵌入倒计时的功能。我也封装了一个工具类,详细请看这里 但是倒计时如果不是用服务器的现在时间进行剩余时间计算的话,就可能出现bug(比如一个商品,倒计时1小时停售,服务器已经过了这停售时间,从而停售了,但是客户端的时间比服务...

2017-09-18 19:08:30

阅读数:3418

评论数:0

iOS 扩展性极强的波浪效果工具类

前言: 工作中遇到冲浪需求,于是找了很多资料做参考,最后集成了一个工具类一、实现思路 用正弦函数,计算波浪上的点用UIBezierPath的moveToPoint和addLineToPoint连接成线, 用定时器DisplayLink作为动力源 停止波浪: 停止定时器并赋值为n...

2017-09-18 19:07:58

阅读数:332

评论数:0

PYScrollToolBarView(解决了很多手势冲突)

OC: 工具类下载 pod ‘PYToolBarScrollView’ swift:工具下载 pod ‘PYToolBarScrollView_Swift’ 一、简介 这个工具写了很久,一直不满意,换了n种方法,最后毛瑟顿开,用最平常的知识解决了问题。虽然很简单...

2017-09-18 19:07:29

阅读数:305

评论数:0

*NSString 内存存储解析

1 前言: 字符串是存在字符串常量池里面,然后要是有个指针想要指向一个字符串,先会到字符串常量区进行查找 1. 如果没有,就在字符串的常量区创建一个,把指针指向字符串常量区 2. 如果有,就直接把指针指向字符串的常量区。 所以,相同内容的字符串指针,其指向的内存地址都是一样的...

2017-09-18 19:06:52

阅读数:285

评论数:0

关于const 修饰的一些知识

1、前言 const 修饰的是后面的东西 const修饰的东西不可变 2、验证1. 代码static NSString *const a = @"a";//const 在“*” 与 “a” 之间 static NSString const* b = @&q...

2017-09-18 19:06:07

阅读数:228

评论数:0

swift GCD-定时器(DispatchSourceTimer)注册登陆组件封装

前言: 了解swift GCD 与OC GCD请看我的其他总结文章,这篇文章只是对swift GCD定时器的一个实例探讨,如果有什么不对,请各位指正。 swift CGD 地址 OC CGD 地址 一、 swift DispatchSourceTimer 1. 创建方法 *t...

2017-09-18 19:05:25

阅读数:227

评论数:0

详解Objective-C的isa与meta-class

每个Objective-C对象都有一个隐藏的数据结构,这个数据结构是Objective-C对象的第一个成员变量,它就是isa指针。 这个isa到底是什么呢?官方介绍是这样的:

2017-02-01 21:34:07

阅读数:234

评论数:0

iOS CALayer (图层的相关知识)

CALayer简介 在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮、一个文本标签、一个文本输入框、一个图标等等,这些都是UIView。 其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层,在创建UIView对象时,UIView内部会自动创建一个图...

2017-02-01 21:32:26

阅读数:124

评论数:0

Quartz 2D 以及手势的综合 小demo

> 手势工具类和裁切View工具类以及动画的组合

2017-02-01 21:31:20

阅读数:109

评论数:0

iOS RunLoop详解

>RunLoop是一个对象,这个对象在循环中用来处理程序运行过程中出现的各种事件(比如说触摸事件、UI刷新事件、定时器事件、Selector事件),从而保持程序的持续运行;而且在没有事件处理的时候,会进入睡眠模式,从而节省CPU资源,提高程序性能。

2017-02-01 21:29:22

阅读数:195

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭