随笔分类 - iOS
摘要:如何创建github远程仓库 首先, 你有先到github网站注册账号https://github.com 然后创建一个项目, Create a new repository 之后在在Repository name 填入 ZXTabBarController(你的远程仓库名) ,其他保持默认设置,
阅读全文
摘要:Objective-C Runtime Describes the macOS Objective-C runtime library support functions and data structures. Overview(概述) 以下是官方文档中对Runtime给出的定义 The Obje
阅读全文
摘要:1.生成器模式的定义 将一个复杂的对象的构件与它的表示分离,使得同样的构建过程可以创建不同的表示 2.生成器模式的UML Builder :生成器接口,定义创建一个Product各个部件的操作 ConcreteBuilder:具体的生成器的实现类 Product:产品,表示被生成器构建的复杂的对象,
阅读全文
摘要:桥接模式 把两个相关联的类抽象出来, 以达到解耦的目的 比如XBox遥控器跟XBox主机, 我们抽象出主机和遥控器两个抽象类, 让这两个抽象类耦合 然后生成这两个抽象类的实例XBox & XBox主机 以达到解耦 同时还能再继承为其他的游戏机 因为是控制器在控制主机, 所以控制器抽象类会持有主机抽象
阅读全文
摘要:相比简单工厂模式, 只有一个工厂 能生产的手机也是固定的 抽象工厂模式类似于有很多家工厂, 当用户要买什么手机就创建对应的工厂去生产 比如用户要买iPhone就创建一个Apple工厂来生产手机, 要买Android手机就创建一个Goolge工厂 这样创建工厂, 工厂, 用户这样就是我们要考虑的因素
阅读全文
摘要:简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。 定义解释的文字很单调
阅读全文
摘要:装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。 比如游戏机有一个GamePad类, 现在要增加一个作弊功能(例如100条命), 如果直接在GamePad类中去添加可能会影响其他子类的使用 我们考虑装饰模式思维, 先建立
阅读全文
摘要:外观模式(Facade),为子系统中的一组接口提供一个一致的界面,定义一个高层接口,这个接口使得这一子系统更加容易使用。 在以下情况下可以考虑使用外观模式: (1)设计初期阶段,应该有意识的将不同层分离,层与层之间建立外观模式。 (2) 开发阶段,子系统越来越复杂,增加外观模式提供一个简单的调用接口
阅读全文
摘要:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 Prototype原型模式是一种创建型设计模式,Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象
阅读全文
摘要:观察者模式(有时又被称为发布-订阅模式) 在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。 这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实现事件处理系统。 比如我们订阅杂志, 会有一个订阅服务中心, 他负责管理期刊号, 添加用户 和 发送
阅读全文
摘要:对FastCoding做了二次封装, 实现更加便捷的存储和读取数据, 分享给大家 ZXEasyCoding 说明: 对FastCording进行封装, 更便捷存储和读取对象数据 安装: 添加ZXEasyCoder整个文件夹到项目中, #import "NSObject+ZXEasyCoder.h"即
阅读全文
摘要:看到有个app上面有个浮动的可以随意拖动的漂浮控件 想了下可以用UIButton, button设置要显示的图片, 然后通过UIPanGestureRecognizer来实现调整位置 上代码:
阅读全文
摘要:先说下基本动画部分 基本动画部分比较简单, 但能实现的动画效果也很局限 使用方法大致为: #1. 创建原始UI或者画面 #2. 创建CABasicAnimation实例, 并设置keypart/duration/fromValue/toValue #3. 设置动画最终停留的位置 #4. 将配置好的动
阅读全文
摘要:给图片增加滤镜有这两种方式: CoreImage / openGLES 下面先说明如何使用CoreImage给图片添加滤镜, 主要为以下步骤: #1.导入CIImage格式的原始图片 #2.创建CIFilter滤镜 #3.用CIContext将滤镜中的图片渲染出来 #4.导出渲染后的图片 参考代码:
阅读全文
摘要:当app出现崩溃, 研发阶段一般可以通过以下方式来跟踪crash信息 #1.模拟器运行, 查看xcode错误日志 #2.真机调试, 查看xcode错误日志 #3.真机运行, 查看device系统日志 下面举例说明, 先写一段会Crash的代码crashdemo: Demo#1.模拟器运行, 查看xc
阅读全文
摘要:在做一个HTTPS连接时, 要客户端合成一段HTTPS地址 如果地址含中文的话程序会crash, 检查发现原来是中文没有转码的原因 在NSString库里面找到了下面两个方法 试了下, 有效 输出string1-7结果如下 简单说下我是如何使用的: 在合成URL后, 给整个String转码两次 服务
阅读全文
摘要:最近一个项目有获取手机短信跟邮箱验证码功能, 所以要加一个UIButton倒计时功能 例子代码如下:
阅读全文