暖带
码龄11年
关注
提问 私信
  • 博客:25,659
    25,659
    总访问量
  • 16
    原创
  • 1,671,997
    排名
  • 1
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2014-05-30
博客简介:

BossKai的博客

博客描述:
勿在浮沙筑高台
查看详细资料
个人成就
  • 获得1次点赞
  • 内容获得1次评论
  • 获得4次收藏
创作历程
  • 6篇
    2017年
  • 10篇
    2016年
成就勋章
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

356人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

编写高质量的OC代码--------对象、消息、运行时

第6条:理解“属性”这一概念    “属性”是Objective-C的一项特性,用于封装对象中的数据。属性通过存取方法访问。编译器在编译期会自动合成一套存取方法,用以访问给定类型中具有给定名称的实例变量。    使用@synthesize语法可以指定属性对应实例变量的名字。但是不建议这么做,因为如果所有人都使用默认的命名方案,那么写出来的代码大家都能看懂。    使
原创
发布博客 2017.05.21 ·
720 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

编写高质量的OC代码--------熟悉Objective-C

第1条:了解Objective-C语言的起源        1、Objective-C的消息结构    Objective-C使用“消息结构”而非“函数调用”。消息结构与函数调用的关键区别在于:使用消息结构的语言,其运行时所应执行的代码由运行环境来决定;而使用函数调用的语言,由编译器决定。如果函数调用是多态的,那么在运行时就要按照“虚方法表”来查出到底应该执行哪个函数实现。而采用消
原创
发布博客 2017.05.19 ·
444 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

GCD与并发编程

一、关于多线程    1、并行与并发     并发为逻辑上的同时发生。在多线程操作时,如果系统是单核CPU,则它根本不可能同时进行一个以上的线程,它只能把CPU运行时间划分成极短个时间段,再将时间段分配给各个线程执行。这样CPU快速的在不同的线程之间切换,由于时间间隔较短,使人感觉多个任务在同时运行。    并行为物理(实际)上的同事发生。在多核CPU中。当一个CPU执行一
原创
发布博客 2017.04.16 ·
313 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

深入探究Blocks----------内存管理

一、Block的本质    在底层Block是以C语言结构体实现的,而在OC中Block的本质即为OC对象。    通过 "clang -rewrite-objc” 对OC代码进行重新  ^{printf("tempBlock");};          这个Block会被转换成如下结构:    struct __block_impl {
原创
发布博客 2017.03.23 ·
744 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

深入探究Blocks----------截获不同种类的自动变量

Blocks是C语言的扩充。可以用一句话来表示Blocks的扩充功能:带有自动变量(局部变量)的匿名函数。Block底层实现是以C语言结构体实现的,在OC中Block即为Objective-C对象。       所谓“带有自动变量”意味着在执行Block语法时,Block语法表达式所使用的自动变量被保存到Block的结构体实例中。本文主要对从Block内部访问不同种类变量的一些特性进行探究。
原创
发布博客 2017.03.17 ·
414 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

深入探究OC内存管理

前言:本篇内容假设您已经对内存管理有了基础的理解。如retain、release、autorelease、autoreleasepool的释放及使用、引用计数式内存管理概念等。本篇内容将围内存管理进行一些深入的探究。一、内存管理的思考方式      1.1、内存管理的黄金法则          自己生成的对象自己持有。          非自己生成的对象,自己也能持有。
原创
发布博客 2017.02.19 ·
470 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

深入理解Dispatch Queue(一)

Dispatch Queues提供了一种简单的方式让我们在App中实现异步和并发。任务的概念:一个任务是我们的程序需要执行的一个独立的工作。我们可以通过将相应的代码放到一个函数或一个block中并将其添加到调度队列中来定义任务。可以将调度队列理解为一个管理我们提交过的任务的对象。调度队列遵循先入先出的规则,提交到队列中的任务总是以相同的顺序开始启动的。GCD为我们提供了三种调度队列
原创
发布博客 2016.07.03 ·
10233 阅读 ·
2 点赞 ·
1 评论 ·
3 收藏

runtime(三)应用 消息转发

OC 中方法调用是以消息传递实现的[obj foo] 等同于 objc_msgSend(obj,@selector(foo))类的底层构造struct objc_class { Class isa OBJC_ISA_AVAILABILITY; //isa指针 #if !__OBJC2__ Class super_class OBJC2_UNAVAILABLE;
原创
发布博客 2016.07.03 ·
362 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

runTime(二)应用 Method Swizzling

Method swizzling 就是改变现有selector 所关联的方法的实现。底层原理为,利用runTime更改类底层方法调度表的映射,在完成映射更改后,这样调用既有的selector就会改为调用更改后的方法实现。从而达到方法替换的目的。在开发中合理的利用Method swizzling可以为我们减少很多冗余的工作。假设我们想追踪用户在每一个视图控制器的停留时间,不要
原创
发布博客 2016.06.05 ·
368 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

OC Runtime(一)一些底层实现原理

runtime是一个由C语言和汇编编写的运行时库。runtime为OC提供 了面向对象的能力。他的作用体现在,加载类的信息、调度方法、方法的转发等。使得  OC面向对象编程成为可能。Selector 底层实现为C语言结构体,selector可以唯一标识一个你想要调用的OC方法。在runtime底层它是这样定义的typedef struct objc_selector  *SEL;并
原创
发布博客 2016.05.29 ·
2445 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

利用NSURLProtocol实现webView缓存

注册自定义protocol handler MyURLProtocol- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [NSURLProtocol registerClass:[MyURLProto
原创
发布博客 2016.05.15 ·
602 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

iOS开发进阶之旅-自定义UICollectionViewFlowlayout

无疑,iOS6引入的UICollectionView是UIKit视图类中的新星。UICollectionView在各个方面都有一定的UITableView的影子。而,相比于UITableView更强的定制性,更大的灵活性是UICollectionView完全超越UITableView的一点。UICollectionView和UITableView都是dataSource和delegat
原创
发布博客 2016.03.27 ·
2704 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

iOS开发进阶之旅-WebViewJavascriptBridge的使用

由于公司是一个电商平台,一些活动页面、商城首页对于灵活性要求比较高,对于这些灵活的页面,利用h5来开发是再合适不过的了。由于需求的驱动,在git上找到了WebViewJavascriptBridge,来实现h5与native的进行一些数据上的交互。经过一段时间的使用,对其有了一定的理解在此总结一下。乍一看到WebViewJavascriptBridge的sample时,被里面的各种回调搞的有点
原创
发布博客 2016.03.13 ·
1998 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

iOS进阶之旅-图片裁剪

关于UIGraphicsBeginImageContext(CGSize size);UIGraphicsBeginImageContextWithOptions(CGSize size,BOOL opaque, CGFloat scale);UIGraphicsBeginImageContext开启指定区域的图形上下文UIGraphicsBeginImageC
原创
发布博客 2016.03.06 ·
533 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

iOS进阶之旅-可交互式转场动画

iOS7苹果为开发者引入了一系列新的API。其中一个尤为出色的API是一个新的视图控制器转换API。有趣的是,对于这个API苹果大量使用了协议,而不是具体的对象。虽然有点奇怪,但这种定义方式为我们提供了极大的灵活性,在深入探讨这个API之前,让我们看一下另一个iOS7的新特性。注意导航控制器在iOS7中默认行为的改变,在导航控制器不同视图切换之间的动画在iOS7之后现在略有不懂,它是可交互的,
原创
发布博客 2016.02.28 ·
2267 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

iOS进阶之旅-视图控制器控制与转换

iOS中控制器协调了后台数据与屏幕上展现的界面。在一个好的MVC设计模式中,控制器中用来处理很多必不可少的应用程序逻辑。UIKit提供了许多内置的视图控制器如UITabBarController或UINavigationController视图控制器。有了这些,正常开放中我们可以轻易的搭建出app的视图控制器框架。但有时候我们需要或者想要更多自定义的东西,本文将讨论一些有用的技术,视图控制器控制与
原创
发布博客 2016.02.21 ·
513 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏
加载更多