自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 IOS 高德地图开发相关问题汇总

本项目主要是基于高德地图实现了大头针展示,分级大头针,自定制大头针,在地图上画线,线和点共存,路线规划(驾车路线规划),路线导航,等一些常见的功能。不多说了,直接上图吧。一。普通大头针展示,这个不多说,请求数据,将数据转化成大头针对象,添加到地图上,实现定制大头针的代理方法即可,如果有点击大头针的需求,和取消的需求,实现两个代理即可,这个不多说,直接看代码就可以了。二。分级大头针大头针展示,...

2019-12-26 14:56:05 494

原创 iOS Runtime本质详解(一)

Objective-C是一门动态性比较强的编程语言,跟C、C++等语言有着很大的不同。普通语言的过程大致分为:编写代码 -> 编译链接 -> 运行。也就是代码写成什么结果就是什么样子,OC可以在程序的运行时改变一些默认的行为,那么他是怎么做到的呢?Objective-C的动态性是由Runtime API来支撑的,Runtime API提供的接口基本都是C语言的,源码由C\C++\汇编语...

2020-02-18 12:19:12 478 1

原创 iOS block本质详解(二)

这篇文章主要的讲的是这三个方面。* block捕获对象变量的本质* __weak 修饰符 详解* __block 修饰符 详解* block 内存管理 详解* block 循环引用 详解block捕获对象变量的本质在平时的开发中经常遇到block块里面,引用其他对象的代码,例如:typedef void (^Block)(void);int main(int argc, cons...

2020-01-20 15:39:37 280

原创 iOS block本质详解(一)

平时的开发中基本每天都要使用到block,其实对于block的底层实现并不是很清楚,今天主要写下block的本质。主要分为以下几个方面* block的底层实现* 捕获变量* block类型一. block的底层实现代码如下int main(int argc, const char * argv[]) { @autoreleasepool { int age =...

2020-01-15 16:56:14 228

原创 iOS 关联对象详解

在平时的工作中经常碰到给类别添加属性的操作,那么实现思路是怎么样的呢?代码实现:新建一个Person类和Person+Text的类别//Person 代码#import <Foundation/Foundation.h>@interface Person : NSObject@property (assign, nonatomic) int age;@end//类别代...

2020-01-14 11:54:31 1978

原创 iOS load和initialize方法详解

iOS开发中总能看到+load和+initialize的身影,网上对于这两个方法有很多解释,但有些细节不够清楚,不够详细。今天我们来详细扒一扒这两个方法.下面针对对load方法的使用过程的变现提出一些问题。问题1.load方法什么时候调用?2.load方法调用原理?(是消息机制还有另有别的机制)3.load方法调用顺序?4.load方法调用次数?新建代码 新建Person类,Pe...

2020-01-13 14:50:13 692 1

原创 iOS Category的本质(一)

Category在平时的工作中也是经常用到,是开发中不可缺少的一个利器,简单介绍。优点:不需要通过增加子类而增加现有类的行为(方法),且分类中的方法与原始类方法基本没有区别;在日常开发中通过分类可以将庞大一个类的方法按照功能模块进行划分,从而便于代码的日后的维护、更新以及提高代码的阅读性缺点:1.无法向类目添加实例变量,如果需要添加实例变量,只能通过定义子类的方式。2.类目中的方法与原始...

2020-01-10 22:03:55 254 1

原创 iOS 扩展(Extension)以及和类别(Category)的区别

关于Category 的用法以及底层原理的问题,iOS Category的本质(一)这篇文章已经讲的很清楚了,今天主要讲讲Extension的用法以及和Category的区别。类扩展就像匿名的分类一样,除了一样不同的是,类扩展声明必须在@implementation在实现。新建一个Cat类,代码如下:#import "Cat.h"@interface Cat ()/*** 名字 **...

2020-01-10 22:00:58 214

原创 iOS KVC本质探索

#####上篇文章讲完了KVO这篇来看看KVC,KVC在开发中的使用也算是挺多的,下面从几个方面来看看KVC#####KVC的全称是Key-Value Coding,俗称“键值编码”,可以通过一个key来访问某个属性常见的API用法-(void)setValue:(id)value forKeyPath:(NSString *)keyPath;-(void)setValue:(id)...

2020-01-09 10:19:31 190

原创 iOS KVO本质探索

KVO全称为Key Value Observing,键值监听机制,由NSKeyValueObserving协议提供支持,NSObject类继承了该协议,所以NSObject的子类都可使用该方法。KVO使用步骤1.注册观察者(为被观察这指定观察者以及被观察者属性)创建一个Person对象,写一个age属性,为age属性添加KVO监听/* options: 有4个值,分别是:NSKey...

2020-01-08 13:46:03 163

原创 iOS OC对象的本质窥探(对象分类)(二)

上面一篇文章讲了OC对象的本质,编译成C++对象是以什么形式存储的,一个对象占多少内存空间等问题,那么在OC语言里面,又分为几种对象呢?其实平时的工作中通过[[NSObject alloc] init]这种形式创建的对象都是实例对象,另外还有两类平时接触甚少的对象,一个是类对象,一个就是元类对象。开篇引题 类对象分为三种:实例对象类对象元类对象这三中类型的对象之间是什么关系?每种类型的...

2020-01-06 22:15:32 181

原创 iOS OC对象的本质窥探(一)

本人2016年进入iOS开发行业,时间一晃也工作了三四年了,写过不少项目,代码写的也有几万行了,有的时候就会陷入思考,当我们写完代码编译完成后怎么就运行到手机上成了一个App,这中间到底经历了什么过程?今天就把自己这几年对于OC对象的了解分享一下,如有错误欢迎指正。首先说明一下,为什么要了解和研究OC对象的本质??了解了对象的本质,也可以写出更加优秀,内存占用更合理的代码,提高系统的性能。...

2019-12-26 22:24:29 205

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除