随笔分类 -  IOS开发

Swift 元组 Tuple
摘要:let infoArray:[Any] = ["jack",18,1.88] let infoName=infoArray[0] as!String //此处为Any类型强转为String类型 print(infoName.count) let infoDict:[String:Any]=["nam 阅读全文

posted @ 2019-07-09 14:57 二狗你变了 阅读(156) 评论(0) 推荐(0)

Swift字符串截取与Range使用
摘要:1、String.Index String.Index表示一个位置,使用String与String.Index可以获取该位置的Character let str = "123456789" let zero = String.Index.init(encodedOffset: 0) let five 阅读全文

posted @ 2019-07-08 17:23 二狗你变了

Swift 字符串String
摘要:OC的字符串是NSString,swift中字符串类型时StringString 是一个结构体,性能更高NSString是一个OC对象,性能略差String支持直接遍历Swift提供了String和NSString之间的无缝转换 let cname="jack" let age=18 let hei 阅读全文

posted @ 2019-07-08 14:46 二狗你变了 阅读(345) 评论(0) 推荐(0)

CocoaPods安装/卸载/初始化等常用操作
摘要:CocoaPods的官网:https://cocoapods.org/,官方指导文档https://guides.cocoapods.org/ 1)ruby gem源更换国内源gems.ruby-china.com数据源 $懒得点进去的朋友看看这个注释(ruby-china粘贴过来的) $ gem 阅读全文

posted @ 2019-07-03 12:16 二狗你变了

iOS 保存图片(视频)到相册
摘要:1、C语言函数方式实现 注意:UIImageWriteToSavedPhotosAlbum方法必须实现代理方法,否则会崩溃。 方法2:使用Photos框架实现 2.1 Photos01-基本认识 PHAsset : 一个PHAsset对象就代表相册中的一张图片或者一个视频 PHAssetCollec 阅读全文

posted @ 2019-06-04 16:04 二狗你变了

知识点总结
摘要:1、项目中最能体现你技术的地方,项目的结构 2、 KVO内部实现原理?KVC KVO是为了解决什么问题 链接 1、深入理解 KVC\KVO 实现机制 — KVO 2、 KVC本质 实现原理: KVO的实现使用了isa-swizzling技术以及观察者模式。 isa指针指向了对象的类对象,这个类对象维 阅读全文

posted @ 2018-07-30 17:00 二狗你变了

策略模式vs工厂模式的区别
摘要:定义: 工厂模式的思想主要为:多个类似的子类继承同一个父类,对其父类中的变量进行操作;工厂类负责判断、控制哪个子类被执行,而工厂类调用子类完成后,返回的结果是该子类的父类,该父类中的变量已经被操作过了,访问该父类,得到我们想要的结果策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以 阅读全文

posted @ 2018-07-30 11:46 二狗你变了

iOS 中的八大锁
摘要:1、NSLock NSLock 遵循 NSLocking 协议,lock 方法是加锁,unlock 是解锁,tryLock 是尝试加锁,如果失败的话返回 NO,lockBeforeDate: 是在指定Date之前尝试加锁,如果在指定时间之前都不能加锁,则返回NO @protocol NSLockin 阅读全文

posted @ 2018-03-09 19:55 二狗你变了

iOS多个链接库冲突的解决办法(重复使用相同的开源代码)framework
摘要://查看lib库所支持的框架类型 lipo -info libiOS_common.a //armv7 lipo -extract_family armv7 -output libiOS_common_arm.a libiOS_common.a //查看是否是Non-fat file lipo -i 阅读全文

posted @ 2017-12-01 17:36 二狗你变了 阅读(1229) 评论(0) 推荐(0)

iOS 即时通讯资料
摘要:iOS编译使用官方Protocol Buffer 阅读全文

posted @ 2017-08-18 12:58 二狗你变了

iOS与JS交互实战篇
摘要:纵观所有iOS与H5交互的方案,有以下几种: 第一种:有很多的app直接使用在webview的代理中通过拦截的方式与native进行交互,通常是通过拦截url scheme判断是否是我们需要拦截处理的url及其所对应的要处理的功能是什么。任意版本都支持。 第二种:iOS7之后出了JavaScript 阅读全文

posted @ 2017-08-18 12:05 二狗你变了

详解枚举NS_OPTIONS与NS_ENUM的区别与格式
摘要:NS_ENUM枚举项的值为NSInteger,NS_OPTIONS枚举项的值为NSUInteger; NS_ENUM定义通用枚举,NS_OPTIONS定义位移枚举 NS_OPTIONS的枚举项的值需要像这样表示1 << 0,1 << 1,2的几次方这样,而NS_ENUM可以直接给像1,2,3这样。 阅读全文

posted @ 2017-05-09 17:42 二狗你变了 阅读(451) 评论(0) 推荐(0)

iOS-copy与mutableCopy浅析
摘要:iOS-copy与mutableCopy浅析 iOS 浅谈:深.浅拷贝与copy.strong 由于自定义对象不考虑可变,所以忽略mutableCopy当对象需要调用 copy 的时候,需要遵守遵守 NSCopying 协议 和 调用 copyWithZone:当自定义对象调用copy的时候,指针地 阅读全文

posted @ 2017-03-14 10:50 二狗你变了 阅读(150) 评论(0) 推荐(0)

iOS之Block总结以及内存管理
摘要:block定义 从上面代码看出,Block_layout就是对block结构体的定义: isa指针:指向表明该block类型的类。 flags:按bit位表示一些block的附加信息,比如判断block类型、判断block引用计数、判断block是否需要执行辅助函数等。 reserved:保留变量, 阅读全文

posted @ 2017-03-13 09:50 二狗你变了 阅读(603) 评论(0) 推荐(0)

Objective-C runtime 机制
摘要:runtime使用C语言结构体表示对象,用C语言函数表示方法,这些C语言函数和结构体被Runtime封装后,我们就可以在程序中执行创建,检查,修改类和对象和他们的方法 runtime 是 OC底层的一套C语言的API(引入 <objc/runtime.h> 或<objc/message.h>),编译 阅读全文

posted @ 2017-02-18 14:56 二狗你变了 阅读(340) 评论(0) 推荐(0)

UIView 添加闪烁的渐变光
摘要:CGRect gradientRect=CGRectMake(- imageView3.bounds.size.width*1.5, 0, 4 * imageView3.bounds.size.width, imageView3.bounds.size.height); CAGradientLayer *gradientLayer = [CAGradientLayer layer]; ... 阅读全文

posted @ 2016-12-13 15:09 二狗你变了 阅读(938) 评论(0) 推荐(0)

CATransition Demo
摘要:iOS开发之各种动画各种页面切面效果: http://www.cnblogs.com/ludashi/p/4160208.html 阅读全文

posted @ 2016-11-11 17:09 二狗你变了 阅读(150) 评论(0) 推荐(0)

iOS开发之--- NSURLProtocol
摘要:简书 iOS开发之 NSURLProtocol NSURLProtocol和NSRunLoop的那些坑 iOS开发之NSURLProtocol的那些坑 阅读全文

posted @ 2016-11-04 18:37 二狗你变了 阅读(89) 评论(0) 推荐(0)

Objective-C 和 Core Foundation 对象相互转换的内存管理总结
摘要:iOS允许Objective-C 和 Core Foundation 对象之间可以轻松的转换,拿 NSString 和 CFStringRef 来说,直接转换豪无压力: CFStringRef aCFString = (CFStringRef)aNSString; NSString *aNSStri 阅读全文

posted @ 2016-09-11 12:55 二狗你变了 阅读(113) 评论(0) 推荐(0)

git 命令使用记录
摘要:1、为某次历史创建添加标签 git tag v2.0.3 4e6861d5 2、分支 2.1.0查看所有分支 git branch -a 2.1.1查看远程分支 git branch -r 2.1.2查看本地分支 git branch 2.1.3把本地tag推送到远程 git push --tags 阅读全文

posted @ 2016-08-01 17:10 二狗你变了 阅读(151) 评论(0) 推荐(0)

导航