自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Effective Objective-C 2.0 阅读笔记(一)

一:Objcetive-C的特性Objective-C使用动态绑定的消息结构,也就是说,在运行时才会检查对象。对象所占内存总是分配在“堆空间”。二:在类的头文件中尽量少引入其他头文件why:若现有A,B两类,A中有B类类对象,故通常在A类中导入B类头文件,虽可行但是不够优雅,有时我们并不需要知道B类的全部细节,故会增加编译时间,于是我们有了向前声明。solve:@class BA类...

2020-04-06 11:14:32 130

原创 iOS Block(三)---- 本质篇

大纲block对对象变量的捕获__main_block_copy_0 和 __main_block_dispose_0block内修改变量的值__block内存管理__forwarding指针block对对象变量的捕获block一般使用过程中都是对对象变量的捕获,那么对象变量的捕获同基本数据类型变量相同吗?思考:当在block中访问的为对象类型时,对象什么时候会销毁?type...

2020-02-12 15:05:30 122

原创 iOS Block(二)----本质篇

大纲Block的本质Block变量捕获Block类型Block的本质Block是“带有自动变量值的匿名函数”,但Block究竟是什么呢?本质就是一个OC对象,内部有isa指针,Block是封装了函数调用以及函数调用环境的OC对象。先来简单写一个blockint main () { void(^blk)(void) = ^{ printf("Block\n"); }; ...

2020-02-12 12:32:39 102

原创 iOS Block(一)----介绍篇

大纲Block的介绍Block语法Block类型变量截获自动变量值__block说明符Block的介绍我们之前见到的数据类型有Double、id、OC数据类型等等,今天为大家介绍一种新的数据类型,叫做Block。Block其实很简单,就是一段代码块,用来保存代码的,任何时候都可以调用、执行。让我们来看看比较正规的解释:Block:带有自动变量的匿名函数匿名函数自然是说不...

2020-02-12 10:06:03 97

原创 iOS---Application详解

iOS-UIApplication详解今天看到一篇大牛的文章iOS-UIApplication详解,特此以做记录文章会从以下几个方面来讲解什么是UIApplicationUIApplication单例的实现原理什么时候创建的UIApplication对象利用UIApplication对象进行一些应用级别的操作UIApplication DelegateUIApplicatio...

2020-02-09 14:08:53 481

转载 iOS---UIWindow的介绍

简介UIwindow是一种特殊的UIView,通常一个app中只会有一个UIWindowios程序启动完成后,创建的第一个视图控件就是UIWindow,接着创建控制器的View,最后将控制器的View添加到UIWindow上,于是控制器的View就显示在屏幕上了一个ios程序之所以能显示到屏幕上,完全是因为它有UIWindow,换句话说,没有UIWindow,就看不见任何UI界面状态栏和...

2020-02-08 15:53:38 121

转载 UIButton ------ UIEdgeInsets属性

UIButton共有三种属性1.contentEdgeInsets2.titleEdgeInsets3.imageEdgeInsetsUIEdgeInsets先来看看内部代码是怎样写的typedef struct __attribute__((objc_boxable)) UIEdgeInsets { CGFloat top, left, bottom, right; }...

2020-02-02 15:37:04 204

原创 Objective-C ------ 多态

多态什么是多态?多态是建立在继承的基础上的,oc中的指针类型变量有两个:一个是编译时类型,一个是运行时类型,编译时类型由声明该变量是使用的类型决定,运行时类型由实际赋给该变量的对象决定。如果编译时类型和运行时类型不一致,就有可能出现多态。先给大家举猫、狗的例子一共有三个类:Aniaml、Cat、Dog//Cat、Dog的父类都是Animal//包含feed方法的咱们先不看**Ani...

2020-01-30 16:09:24 133 1

原创 -[NSNull length]: unrecognized selector sent to instance 0x7fff80615710

前言:这两天忙着调接口,写项目,就简单分享几个一般报这个错误,就是说你的NSString 实例赋值的时候是null ,在赋值的地方NSLog一下,看看是不是null。解决方法:看看对象生成没有。alloc 一下...

2019-11-29 19:23:27 573

原创 ios didSelectRowAtIndexPath方法中获取cell

UITableViewCell *cell = (UITableViewCell *)[tableView cellForRowAtIndexPath:indexPath];

2019-11-29 19:20:33 798

原创 IOS tableViewCell左滑自定义删除按钮

自定义删除先给大家看看效果图实现方法第一种:实现原理:找到不同系统下tableViewCell对应的层级,在层级里面进行修改我认为,如果tableViewCell的层级随系统变化的话,那你必须在每个系统层次都找到对应的层级,并书写方法。比如:这三张图分别代表了IOS11以下,IOS11到IOS13,IOS13以上。也就是说你在IOS13以上的模拟器中,还得找到对应的层级再写一...

2019-11-27 18:53:06 1391

原创 iOS KVC和KVO详解

KVC定义KVC键值编码,就是指iOS的开发中,可以允许开发者通过Key名直接访问对象的属性,或者给对象的属性赋值。而不需要调用明确的存取方法。这样就可以在运行时动态地访问和修改对象的属性。而不是在编译时确定,这也是ios开发中的黑魔法之一。很多高级的ios开发技巧都是基于KVC实现的。KVC中最重要的四个方法:- (nullable id)valueForKey:(NSString *)...

2019-11-26 17:34:29 245

原创 正则表达式

正则表达式行定位符(^与$)行定位符用来描述字符串的边界^ 表示行开始。$ 表示行结尾。举例:" ^de “表示以de开头的字符串,” de$ "表示以de结尾的字符串。单词定界符(\b与\B)场景:当你需要做一个字符串判断时,怎样确定你匹配到字符是一个单词还是一个单词的一部分呢?解决方法:利用\b(匹配完整)与\B(匹配部分)举例:\ban\b 匹配 " girl and bo...

2019-11-25 20:39:32 75

原创 NSPredicate简述

NSPredicate简述前言NSPredicate是一个逻辑条件的定义,这个逻辑条件用来约束一个搜索条件,而这个搜索条件用于数据的获取或内存中数据的过程。仅作于笔记,如有侵权,联系删。正文一、过滤数值1.判断数值相等,大小等 NSNumber *num0 = @123; NSNumber *num1 = @1234; NSString *str0 = @"12...

2019-11-24 19:00:37 179

原创 ios--单例模式

ios单例模式一、什么是单例模式官方解释:保证一个类只有一个实例,并且提供一个全局的访问入口访问这个实例。一个类必须只有一个对象。客户端必须通过一个众所周知的入口访问这个对象。这个唯一的对象需要扩展的时候,只能通过子类化的方式。客户端的代码能够不需要任何修改就能够使用扩展后的对象。初读是不是一头雾水,emm,我也是,呐,看完单例模式的用处再跟你解释。二、单例模式的用处主要用在封装网...

2019-11-22 20:34:05 93

原创 iOS---多线程GCD(整理)

IOS—GCD的学习前言本篇学习的是多线程GCD,关于GCD的总结,简书上有一篇非常详细的文章,本文大部分也是摘抄于此,iOS 多线程:『GCD』详尽总结学习之前需了解的知识1.什么是进程,什么是线程?进程是一个正在运行的应用程序,每个进程之间是独立的,每个进程均运行在其专用的且受保护的内存中进程是操作系统分配资源的基本单元线程是进程的基本执行单元,一个进程的所有任务都是在线程中执行...

2019-11-22 17:07:34 154

原创 ios内存管理(整理篇)

iOS内存管理机制前言今天学习了IOS中的内存管理机制,其中一些片段是由其他文章搬过来的,我记得有篇文章是这样写到,站在巨人的肩膀上,我只是一个整理者加了一些自己的理解为什么要学习内存管理虽然 ARC 帮我们解决了引用计数的大部分问题,一些年轻的 iOS 开发者仍然会做不好内存管理工作。他们甚至不能理解常见的循环引用问题,而这些问题会导致内存泄漏,最终使得应用运行缓慢或者被系统终止进程。...

2019-11-22 15:23:57 349

原创 IOS-----界面切换

界面的切换#先给大家看看图废话不多,直接代码#import "Allservices.h"#import "HomeService.h"#import "HealthService.h"#import "WatchService.h"#define KScreenWidth [ UIScreen mainScreen ].bounds.size.width @interfac...

2019-08-08 17:18:08 143

原创 IOS------如何给文字加下划线

如何给文字加下划线#先上效果图直接代码//下划线的设置 NSMutableAttributedString * str = [[NSMutableAttributedString alloc] initWithString:@"找回密码"]; [str addAttribute:NSUnderlineStyleAttributeName value:[NSNumb...

2019-08-08 15:45:58 579

原创 IOS ----如何在TextField中左侧加入标题

标题 : 如何在TextField中左侧加入图片#先看效果图直接上代码 UIImageView * PhoneView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"填上自己图片名称"]]; //根据实际情况设置自己图片视图的大小 PhoneView.frame = CGRectMake...

2019-08-08 15:01:20 275

空空如也

空空如也

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

TA关注的人

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