随笔分类 -  object-c

上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 37 下一页
摘要:在这里,我们要讲讲值类型和写时复制。在 swift 的标准库中,所有的集合类型都使用了写时复制。我们在本篇文章中看一下写时复制如何工作的,并且如何实现它。 引用类型 使用 swift 的 Data 和 NSMutableData 作对比 var sampleBytes: [UInt8] = [0x0 阅读全文
posted @ 2017-08-15 10:30 brave-sailor 阅读(537) 评论(0) 推荐(0)
摘要:日期的处理在大大小小的iOS项目中都十分常见,随着Swift3.0正式版的即将推出,语法的改变让NSDate以及相关类的使用都与之前略有不同,这里将会对基于Swift3.0版本的NSDate及相关类的使用进行简短的介绍. 处理日期的常见情景 NSDate -> String & String -> 阅读全文
posted @ 2017-08-11 11:45 brave-sailor 阅读(263) 评论(0) 推荐(0)
摘要:最近在项目中用到 swift, 涉及到 Int 转 String 类型,需要保留两位数,所以去研究了一下,做个记录 1.通常情况下1.1 Int转 String let intValue1 = 2 let strValue1 = String(intValue1) 1.2 String 转 Int 阅读全文
posted @ 2017-08-09 16:35 brave-sailor 阅读(8434) 评论(0) 推荐(0)
摘要:有时上传或者发送图片、文字时,需要将数据转换为 bytes 字节数组。下面介绍两种将 Data 转换为 [UInt8] 的方法。 假设我们有如下 Data 数据要转换: 1 let data = "航歌".data(using: .utf8)! 1 let data = "航歌".data(usin 阅读全文
posted @ 2017-08-09 15:48 brave-sailor 阅读(2750) 评论(0) 推荐(0)
摘要:原因: 是某个viewController的生命周期控制出现了错误,所以尽量避免一个controller的view去addsubview另一个controller的view,这样会破坏层级关系,导致第一controller不能控制另一个controller的生命周期。 解决办法: 在presentV 阅读全文
posted @ 2017-08-08 14:39 brave-sailor 阅读(716) 评论(0) 推荐(0)
摘要:1. 初始化加载到视图界面 (Swift) (Objective-C) 2. 设置开关状态 (Swift) (Objective-C) 3. 判断开关状态 (Swift) (Objective-C) 4. 添加事件监听 (Swift) (Objective-C) 5. 定制开关UI 阅读全文
posted @ 2017-08-01 14:51 brave-sailor 阅读(293) 评论(0) 推荐(0)
摘要://将十六进制的字符串转换成NSString则可使用如下方式: + (NSString *)convertHexStrToString:(NSString *)str { if (!str || [str length] == 0) { return nil; } NSMutableData *he 阅读全文
posted @ 2017-07-27 11:07 brave-sailor 阅读(418) 评论(0) 推荐(0)
摘要:这里所说的转换,并不是Swift中字面量之间的转换。如果是字面量之间的转换,ios系统中已经自动帮我们转换了。 例如let number1:Int = 8let number2:Int = 0b1000let number3:Int = 0x8这三个常量都是同一个值。 接下来要写的是真正意义上的进制 阅读全文
posted @ 2017-07-27 10:58 brave-sailor 阅读(2657) 评论(0) 推荐(0)
摘要:Java位运算符 &与运算$1600任何二进制位和0进行&运算,结果是0;和1进行&运算结果是原值。 1(简书bug,用1代替) 或运算 任何二进制位和0进行 或 运算,结果是原值;和1进行 或运算结果是1。 ^ 异或运算 任何相同二进制位进行 ^ 运算,结果是0;不相同二进制位 ^ 运算结果是1。 阅读全文
posted @ 2017-07-26 18:18 brave-sailor 阅读(245) 评论(0) 推荐(0)
摘要:-(BOOL) isKindOfClass: classObj 用来判断是否是某个类或其子类的实例 -(BOOL) isMemberOfClass: classObj 用来判断是否是某个类的实例 -(BOOL) respondsToSelector: selector 用来判断是否有以某个名字命名的 阅读全文
posted @ 2017-07-26 15:17 brave-sailor 阅读(596) 评论(0) 推荐(0)
摘要:iOS10新增加了一个UserNotificationKit(用户通知框架)来整合通知相关的API,UserNotificationKit框架增加了很多令人惊喜的特性: 更加丰富的推送内容:现在可以设置推送的title、subtitle、body 以及符合大小的图片、音频、视频等附件内容。 更好的通 阅读全文
posted @ 2017-07-26 14:06 brave-sailor 阅读(1401) 评论(0) 推荐(0)
摘要:简介 新框架 获取权限 获取用户设置 注册APNS,获取deviceToken 本地推送流程 远程推送流程 通知策略(Category+Action) 附件通知 代理回调 简介 iOS10新增了UserNotificationKit框架,整合了关于通知的方法。增加了很多新特性: 1. 推送内容更加丰 阅读全文
posted @ 2017-07-26 14:05 brave-sailor 阅读(816) 评论(0) 推荐(0)
摘要:UIApplication简介 UIApplication对象是应用程序的象征。 每一个应用程序都有自己的UIApplication对象,而且是单例。 一个iOS程序启动后创建的第一个对象就是UIApplication对象。 通过UIApplication *app = [UIApplication 阅读全文
posted @ 2017-07-26 11:00 brave-sailor 阅读(421) 评论(0) 推荐(0)
摘要:iOS开发拓展篇——如何把项目托管到GitHub 说明:本文主要介绍如何把一个OC项目托管到Github,重操作轻理论。 第一步:先注册一个Github的账号,这是必须的 注册地址:Github官网注册入口 第二步:准备工作 gitHub网站使用Git版本管理工具来对仓库进行管理,注意它们并不等同。 阅读全文
posted @ 2017-07-26 10:34 brave-sailor 阅读(177) 评论(0) 推荐(0)
摘要:iOS开发中定时器经常会用到,iOS中常用的定时器有三种,分别是NSTime,CADisplayLink和GCD。 NSTimer 方式1 // 创建定时器 NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:2 target:self 阅读全文
posted @ 2017-07-25 16:35 brave-sailor 阅读(324) 评论(0) 推荐(0)
摘要:代码含义 CGContextRef context = UIGraphicsGetCurrentContext(); 设置上下文 CGContextMoveToPoint 开始画线 CGContextAddLineToPoint 画直线 CGContextAddEllipseInRect 画一椭圆 阅读全文
posted @ 2017-07-24 16:42 brave-sailor 阅读(423) 评论(0) 推荐(0)
摘要:在 OC 中 init 方法是非常不安全的,没人能够保证 init 只被调用一次,也没有人保证在初始化方法调用以后实例的各个变量都完成初始化,甚至如果在初始化里使用属性进行设置的的话,还可能会造成各种问题。Swift 强化了 designated 初始化方法的地位。swift 中不加修饰的 init 方法都需要在方法中保证所有非 Optional 得实例变量被赋值初始化,而在子类中也强制(显示或... 阅读全文
posted @ 2017-07-24 13:57 brave-sailor 阅读(244) 评论(0) 推荐(0)
摘要:按住apple键点击类名就可以定位到这个类中查看相关定义(在日后的开发中我们会经常这么来做,毕竟要记住iOS开发中所有的API是不现实的,有些API我们可以通过这种方法来查找) PS:下面都是网上百度后经过我自己整理,都是Xcode比较常用的快捷键,特别是红色标注的,很常用。用熟了开发编辑代码的的时 阅读全文
posted @ 2017-07-07 18:10 brave-sailor 阅读(11335) 评论(0) 推荐(0)
摘要:摘要: NSUserDefaults适合存储轻量级的本地数据,一些简单的数据(NSString类型的)例如密码,网址等,NSUserDefaults肯定是首选,但是如果我们自定义了一个对象,对象保存的是一些信息,这时候就不能直接存储到NSUserDefaults了 一、了解NSUserDefault 阅读全文
posted @ 2017-07-06 15:01 brave-sailor 阅读(222) 评论(0) 推荐(0)
摘要:如果对象是NSString、NSDictionary、NSArray、NSData、NSNumber等类型,可以直接用NSKeyedArchiver进行归档和恢复 不是所有的对象都可以直接用这种方法进行归档,只有遵守了NSCoding协议的对象才可以 NSCoding协议有2个方法: encodeW 阅读全文
posted @ 2017-07-06 14:45 brave-sailor 阅读(187) 评论(0) 推荐(0)

上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 37 下一页