自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JXCategoryView使用

1、首先父类VC使用JXCategoryView代理<JXCategoryViewDelegate, JXCategoryListContainerViewDelegate>2、定义三个属性@property (nonatomic, strong) NSArray *titleArr;// 标题数据@property (nonatomic, strong) JXCategoryTitleView *categoryView;// 标题view@property (nonatomic, s

2020-09-21 11:33:55 10460 1

原创 block原理学习(4.对象类型的auto变量)

1、定义一个简单的block: MJBlock block; { MJPerson *person = [[MJPerson alloc] init]; person.age = 10; block = ^{ NSLog(@"---------%d", person.age)...

2020-03-25 23:29:20 385

原创 block原理学习(3.block的分类)

block是一个对象,调用block的父类最终都继承自NSObject.// __NSGlobalBlock__ : __NSGlobalBlock : NSBlock : NSObject void (^block)(void) = ^{ NSLog(@"Hello"); }; NSLog(@"%@", [block class]); ...

2020-03-25 00:26:11 400

原创 block原理学习(2.block的截获变量(基本数据类型)底层原理)

block引用局部变量的情况局部变量一般有两种情况,一种是自动变量,一般情况定义的变量如int a = 0之类的系统默认的都会在之前添加auto关键字,这种局部变量会随着作用域的消失而自动销毁。另外一种是static修饰的局部变量,这种变量一直储存在内存中,在堆之上的代码区,不会随着作用域的销毁而销毁。定义一个简单的block:void (^block)(void)void test()...

2020-03-24 11:34:18 165

原创 block原理学习(1.block的底层数据结构)

blcok可以理解为一个代码块,但实质上是一个对象,封装了函数调用以及函数调用环境的oc对象定义一个简单的block:void (^block)(void) = ^(void){ NSLog(@"this is a block");};block();用clang把oc语言转换成c++底层代码并把强制转换如下:void (*block)(void) = &__main_...

2020-03-24 09:39:54 285

原创 Ios分类、扩展区别及底层实现

要想知道区别,首先要知道用途及特点一、分类1、分类常怎么用?a.把内容臃肿的类文件用分类的方法分解成一个或者几个类。b.framework私有方法公开化(重写私有方法)c.声明私有方法2、分类的特点(跟扩展的区别)a.运行时决议b.可以为系统类添加分类3、分类可以添加什么a.实例方法b.类方法c.协议d.属性,但不能添加实例变量,需要用到runtime关联对象的方法。如...

2020-03-04 19:40:38 259

空空如也

空空如也

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

TA关注的人

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