自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 归档iOS

-encodeBool:forKey:-encodeBytes:length:forKey:-encodeConditionalObject:forKey:-encodeDouble:forKey:-encodeFloat:forKey:-encodeInt:forKey:-encodeObject:forKey:https://www.jianshu.com/p/405db22f0886https://www.cnbl...

2020-08-18 10:23:47 156

原创 NSFileManager

2020-08-02 20:53:37 139

原创 NSDictionary\NSMutablDictionary --集合

子类指针指向父类对象,运行时会报错

2020-08-02 20:48:17 157

原创 异常处理

异常的后果 :闪退 程序崩了------------- 避免异常最重要是逻辑判断!!!!

2020-08-02 20:37:59 81

原创 分组导航标记

2020-08-02 20:33:55 148

原创 类加载

2020-08-02 20:29:17 71

原创 block笔记 block与函数的区别

block与函数:相同点:都封装一段代码不同点:block是一种数据类型,可以声明block类型的变量,函数只是函数 block可以作为函数参数 、函数返回值,函数不能 myblock1();block在内存中存储:block类型当参数第一种的内存情况block作为参数传给函数a第...

2020-08-02 20:25:34 428

原创 setter方法内存管理

标准的setter方法重写dealloc方法-(void)dealloc{ [_car release]; [super dealloc];}

2020-08-02 17:38:59 132

原创 OC 的数据类型

oc完全兼容c语言,oc 中最重要的一个机制: 消息机制OC中的数据类型1、C语言中所有数据类型2、BOOL3、boolean4、class类型 :类5、id类型 :万能指针6、nil 与NULL差不多7、SEL 方法选择器8 、blcok 代码段...

2020-08-02 17:18:27 513

原创 协议与委托

一、协议与委托知识点1、通过委托与数据源协议进行对象间通信委托模式为对象提供来一套接口,使其可由此将相关事件告知其他对象。 将委托对象应该支持的接口定义称协议,在协议中把可能需要处理的事件定义成方法。 当某对象需要从另一个对象中获取数据,可以使用委托模式,这种情况下,该模式也称“数据源模式” 若有必要,可以实现含有位段的结构体,将委托对象是否能响应相关协议方法( [obj respondsToSelector:@selector(方法名)] )这以信息缓存至其中。2、将类的实现代码分散到便于

2020-08-02 17:08:20 159

原创 Blocks、Block基础理解 \总结

一、 Blocks是C语言的 扩展功能:带有自动变量(局部变量)的匿名函数。C语言中用到的变量:自动变量(局部变量)、静态变量、静态局部变量、全局变量、函数参数函数多次调用之间能够传递值的变量有:静态变量(静态局部变量)、静态全局变量、全局变量。因为在整个程序中,一个变量总保持在一个内存区域,虽然多次调用但是该变量值总能保持不变,在任何时候以任何状态调用,使用的都是同样的变量值。二、Blocks模式1、Block语法:^ 返回值类型 (参数列表) {表达式}Block类型变量:a..

2020-08-02 15:56:52 3035

原创 #include #import @class区别

1、#include : c语言的预处理指令,将文件的内容在编译的时候拷贝到写指令的地方2、#import :OC的预处理指令,是#include指令的增强版, 将文件的内容在编译的时候拷贝到写指令的地方 特点:同一个文件无论#import多少次 只会包含一次 相当于#include 加上#pragma once, #import指令在包含文件的时候,底层会先判断这个文件是否被包含 如果被包含就会略过 否则才会包含 ...

2020-08-01 16:19:00 106

原创 OC 循环引用

1、当两个对象相互引用的时候(A对象的属性是B对象,B对象的属性是A对象),如果两个属性都是强引用(用retain\strong),会发生内存泄漏2解决方案:一个属性用retain\strong ,另一属性用assign\weak,使用assign的属性在dealloc中不再需要release对象了...

2020-08-01 15:47:57 237

原创 深拷贝、浅拷贝

浅拷贝nsstring * str1=@”jack”; 常量区,没有产生新的对象nsstring * str2=[str1 copy];深拷贝1、nsmutablestring *str1=[nsmutablestring stringwithformat:@”jack”]; 在堆区 nsmutablestring *str2=[str1 copy];2、nsstring *str1=@”jack”; 常量区 nsstring *str2=[str1...

2020-08-01 15:38:00 87

原创 OC中的单例实现

一、单例模式保证在程序运行过程中,一个类只有一个实例,该实例易于外界访问,方便对实例个数的控制并节约系统资源。特点:1、在整个应用程序中,共享一份资源(这份资源只需要创建初始化1次),一般用于工具类。很多单例存在,例如UIApplication、NSNotification、NSFileManager、NSUserDefaults等. 2、单例对象一旦建立,对象指针保存在静态区,单例对象在堆中分配的内存空间,会在应用程序终止后才被释放。3、单例类无法继承,难以进行类的扩展。二、AR...

2020-08-01 15:20:07 379

原创 野指针、僵尸对象、内存泄漏

一、野指针:c语言的野指针:定义一个指针变量没有初始化,指针变量的值指向一块随机的空间,这个指针叫做野指针。oc中的野指针:指针指向的对象已经被回收,这样的指针叫做野指针。二、僵尸对象:一个已经被释放的对象,但是这个对象所占空间还没有分配给别人使用,这样的对象叫做僵尸对象。野指针去访问僵尸对象有可能出现问题。设置野指针为nil,当指针为nil时,通过这个指针去调用对象的方法,不会报错,没有任何反应。打开检查僵尸对象机制(选中diagnostics诊断中的enable...

2020-08-01 14:15:52 384

原创 Objective-C中property字段的了解

写一个@property编译器自动1)生成私有属性,(属性类型和@property属性一致,属性名前自动加一个下划线“_”)2)生成getter setter的声明3)生成getter setter的实现继承:父类的@property可以被子类继承,@property生成的属性是私有的,在子类中无法直接访问,可以通过getter setter来访问@property参数1)与多线程相关的 : atomic 、 nonatomic2) 与生成setter方法的实...

2020-08-01 13:53:45 192

原创 TCP \UDP

什么是TCPTCP(Transmission Control Protocol传输控制协议)是一种面向连接的,可靠的,基于字节流的传输通信协议。1、基于字节流:TCP不像UDP一样那样一个个报文独立地传输,而是在不保留报文边界的情况下以字节流方式进行传输。2、面向连接:即在客户端和服务器之间发送数据之间,必须先建立连接。连接需要建立三次握手、四次挥手断开连接3、可靠传输:对于可靠传输,判断丢包,误码靠的是TCP的段编号以及确认号。TCP为了保证报文传输的可靠,就给每个包一个序号,同时序号也保证了传

2020-08-01 11:42:35 191

原创 TCP 协议中的三次握手的过程 四次挥手

https://www.cnblogs.com/jainszhang/p/10641728.htmlhttps://blog.csdn.net/u010918487/article/details/87207531https://blog.csdn.net/qzcsu/article/details/72861891

2020-08-01 10:04:45 100

原创 进程通信方式、线程通信方式

进程通信管道(pipe)管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。有名管道 (namedpipe)有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。信号量(semaphore)信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。消息队列(me

2020-08-01 09:17:51 129

原创 处理器调度

1、高级调度:也称作业调度或者长程调度。根据作业调度算法选择外存上处于后备队列中的某些作业调入内存,为它们分配必要的资源、创建相关进程。2、中级调度:也称平衡调度或者中程调度。涉及进程的内外存间的调度,当主存资源紧张将暂不运行的进程调至外存,进程“挂起”状态,当进程又具备运行条件且主存资源又空闲,再将进程从外存调至内存。3、低级调度:也称进程调度或者短程调度根据一定的调度算法从就绪队列中选一个进程/内核级线程获取处理器,让其使用。低级调度的调度方式:非剥夺式(非抢先式)、剥夺式(抢先

2020-07-31 23:36:15 211

原创 进程、线程的概念、 区别

进程概念进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。进程特点动态性:进程是程序的执行,同时进程有生命周期。并发性:多个进程可同存于内存中,能在一段时间内同时执行。独立性:资源分配和调度的基本单位。制约性:并发进程间存在制约关系,造成程序执行速度不可预测性,必须对进程的并发执行次序、相对执行速度加以协调。进程是由程序、数据和进程控制块三部分组成的。进程的三种基本状态:运行时running、就绪状态ready、等待态(

2020-07-31 22:37:47 158

原创 char int long short float double占多少字节

32位系统,vc编译器中,char 1字节short 2 字节int 、float、long 都占 4 字节,double 占8 字节

2020-07-31 21:31:50 424

原创 栈、堆的特点 区别

内存五大区域栈(stack)堆(heap)静态区(全局区)又分为bss段(未初始化的全局变量、静态变量) data段(初始化的全局变量、静态变量)常量区代码区1、栈(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。栈是向低址扩展的数据结构,是一块连续的内存的区域。是栈顶的地址和栈的最大容量是系统预先规定好的,栈的大小是2M 由系统自动分配,速度较快,不...

2020-07-31 21:30:04 466

原创 static const 作用及区别

C语言中static: static 可以修饰局部变量、全局变量、函数 static 修饰的局部变量存放在静态存储区,生命周期是整个程序结束。在定义时就要初始化,且只能初始化一次,如果没有初始化默认值为0。static修饰的函数或者全局变量,主要是为了限制作用域:仅限于本文件。函数又称内部函数;对于全局变量,是否有static它的存储区域都是静态存储区。OC中的static static不能修饰属性和方法,可以修饰方法中的局部变量。static修饰的局部变量变成静...

2020-07-31 21:26:17 321

空空如也

空空如也

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

TA关注的人

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