![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
swift
一步一迹
缘,随风而至,风起,共舞!
展开
-
Swift中代理的使用
最近几天在学习swift的语法,在看到swift的官方教程对于代理的介绍时给的示例代码比较复杂所以产生了一个仿照OC中对于代理传值的使用方法写个简单易懂的示例方便学习:首先写个协议,这个协议只有一个方法用于获取值protocol TransmitDelegate { func successTransimt(random:Double)}然后写个类这个类实现了这个协议(用获取的值实原创 2016-04-18 10:53:33 · 1156 阅读 · 0 评论 -
Swift 构造过程 1
Swift 的类、结构体、枚举构造完成后它们的所有存储属性一定有一个值 存储属性可以在声明的时候直接给定一个默认值或者在构造的时候赋值,可选属性在初始化的时候会被赋值nil构造器的语法自定义外部参数名称struct Counter { let max : Int var min = 9 var current:Int? //自定义外部名称 init(ma原创 2017-04-20 16:25:29 · 488 阅读 · 0 评论 -
自定义环形进度条UIAnnularProgress(Swift)
很多地方都会使用环形进度条,这里我们就继承自UIView,自定义一个环形进度条控件,可以设置进度条颜色,宽度,进度,动画效果。我们自定义一个环型图层添加到UIView的图层上去,从而实现环形控件。我们使用CAShapeLayer类创建自己的图层。它有几个常用的属性:frame 尺寸,fillColor图层填充色,strokeColor图层边界的颜色,lineWidth 边界线宽,path 图层路径通原创 2016-09-27 11:23:32 · 3815 阅读 · 2 评论 -
Swift中的枚举
相比OC中的枚举而言,Swift中的枚举功能更强大,也新增了很多特性,今天就简单的罗列一下。 枚举使用case关键字来定义新的成员,可以一行写但是要以逗号分开也可以多行写。 在Swift中枚举类型有个关联值,对于枚举成员来说它可以有任意类型的关联值://定义枚举(关联值)enum Value { //使用关键字case 定义新的枚举成员 case ValueOne ca原创 2016-10-11 16:24:59 · 582 阅读 · 0 评论 -
Swift 中异常抛出和四种异常处理
在Swift中你可以像其他语言一样抛出异常处理异常,今天我们就详细地说说Swift中的异常抛出和处理。 在一开始我们要定义错误或者说是异常,Swift中的一些简单异常可以使用枚举定义,注意这个枚举要继承一个空协议Error,如下代码:enum OperationError : Error { case ErrorOne case ErrorTwo case ErrorThr原创 2016-10-09 14:35:30 · 16033 阅读 · 0 评论 -
iOS生成二维码(中间包含图片),长按识别二维码(Swift)
在iOS中有个类CIFilter,通过这个类可以创建各种特定的过滤器,今天我们主要介绍一种二维码发生器(CIQRCodeGenerator)滤镜,通过这个滤镜可以自动生成我们需要的二维码。首先我们要创建一个二维码滤镜: //创建二维码滤镜 let qrCIFilter = CIFilter(name: "CIQRCodeGenerator")注意,这原创 2016-08-17 18:01:00 · 2923 阅读 · 0 评论 -
iOS重力行为、碰撞行为和吸附(Swift)
iOS有模仿物理环境的动态动画,今天就简单的给视图添加重力效果和碰撞效果首先使用一个参考视图也可以理解为背景视图创建自动动画:dynamicAnimator = UIDynamicAnimator(referenceView: self.view)并且我们创建两个一大一小的视图: var dynamicAnimator = UIDynamicAnimator() var litter原创 2016-08-16 15:45:20 · 2640 阅读 · 1 评论 -
iOS后台下载图片并实现本地通知(Swift)
有的时候我们需要APP进入后台后能够自动下载更新一些东西所以这里就说下iOS程序的后台下载任务,前面的博客说过要想进行后太任物就要在plist文件中进行注册,这里注册Required background modes选项,值是App downloads content from the network。当然了你如果不想注册还有个方法就是在Capabilities选项栏下开启Background Mo原创 2016-07-27 16:16:43 · 1235 阅读 · 0 评论 -
iOS NSKeyedArchiver序列化后进行数据持久化(swift)
NSKeyedArchiver序列化就我简单理解就是把iOS中的类转换为二进制数据,我们可以方便的把而进制数据存起来。接下来分别以iOS原有的类和自定义的类序列化存储做简单的说明: 使用NSUserDefaults存储一个很小的图片,当然了我们要知道实际存储的是一个二进制数据所以我们需要序列化:将图片转换为二进制数据NSKeyedArchiver.archivedDataWithRootObje原创 2016-07-27 14:28:58 · 2900 阅读 · 0 评论 -
iOS UITextView(swift语言)
UITextView通常用来显示大量的文本,当然了也是可以输入编辑的跟UITextField作用差不多,但是也有一点区别。接下来先看代码再细说: func creatTextView() { let textView = UITextView(frame: CGRectMake(10, 50, 250, 200)) textView.backgroundColor =原创 2016-07-27 10:06:46 · 929 阅读 · 0 评论 -
iOS 的本地推送(swift实现)
以前曾经写过iOS的远程推送那时候是用OC语言实现的,现在简单的介绍一下iOS的本地推送 相比远程推送本地推送省略了麻烦的证书问题所以很简单。 一样的我们在程序的开始都需要注册推送: func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObj原创 2016-07-26 18:28:37 · 2800 阅读 · 0 评论 -
Swift 给图片添加水印
要给图片添加一个水印感性的想想其实就是在图片上面绘制文字,一般有如下几步:第一要获取到画布;第二要在画布中绘制文字;第三获取到新的图片。不啰嗦了看代码具体和注释这里我是给UIImage这个类添加了一个拓展import Foundationimport UIKitextension UIImage { func drawTextInImage()->UIImage { /原创 2016-07-26 17:47:44 · 2226 阅读 · 0 评论 -
swift -UITextField
这接上代码吧:import Foundationimport UIKitclass CreateTextField: UITextField{ init(){ super.init(frame: CGRectMake(0,100, 200,100)) //边框样式 self.borderStyle = .Bezel //提示文字原创 2016-05-04 18:24:20 · 460 阅读 · 0 评论 -
swift 使用UIButton
这是关于UIButton的使用,将介绍也写button的属性,里面的代码我会把注释全部去掉,你可能连起来看会出错,但是单独看一个一个属性或者方法是没有问题的import Foundationimport UIKitclass CreateButton: UIButton { var target:ViewController? init(target:ViewController原创 2016-05-04 18:14:17 · 1132 阅读 · 0 评论 -
swift语言UILabel的使用
好记性不如烂笔头这个在这么多年的学习生涯中我是深有体会,所以接下来的内容会比较简单,但是还是记下来了。不啰嗦了我们先上代码其他的然后再说:import Foundationimport UIKitclass CreateLabel: UILabel { func createLabel() ->UILabel { let label = UILabel(frame:CG原创 2016-05-04 18:03:53 · 1245 阅读 · 0 评论 -
Swift 构造过程 2
类的代理规则 在Swift中对于类的构造有如下规则: 1. 子类中的指定构造器必须调用父类的指定构造器(如果本身是父类可以忽略这条) 2. 一个类的便利构造器必须调用这个类的其他构造器(横向代理) 3. 一个类的便利构造器必须最终调用这个类的指定构造器(竖向代理)原创 2017-04-20 16:33:49 · 519 阅读 · 0 评论