- 博客(13)
- 收藏
- 关注
原创 2020-12-19
Mac创建txt文件touch cjl.txt通知代理和闭包的区别NotificationCenter 通知中心:“一对多”,在APP中,很多控制器都需要知道一个事件,应该用通知;delegate 代理委托:“一对一”,对同一个协议,一个对象只能设置一个代理delegate,所以单例对象就不能用代理;代理更注重过程信息的传输:比如发起一个网络请求,可能想要知道此时请求是否已经开始、是否收到了数据、数据是否已经接受完成、数据接收失败block(闭包) block和delegate一样,一
2020-12-19 11:07:14
134
1
原创 iOS杂笔记动画
CALayer :anchorPoint 锚点 默认是(0.5,0.5)(中心点)取值为0~1;Position 在父视图的位置,(以锚点为标准)Core Animation (核心动画)执行过程都是在后台操作的,不会阻塞主线程,而且是直接作用在CALayer上的,而非UIView。更新UI (layer?)一般用 setNeedsDisplay更新约束用 layoutifneed——————————————————————————————分类里的属性不生成 set get 方法 和下划线的
2020-12-19 10:57:23
196
1
原创 我回来了笔记6
Quartz2d,以CG开头的都属于这个框架下 属于C。 UIkt 是再封装了一层,属于OC。绘图的步骤:1,获取当前绘图的上下文CGConntextRef2,拼接路径。同时把路径添加到上下文当中CGContextMoveTopoint()CGContextAddLineToPoint3,渲染CGContextStrokePathUIBezierPath 属于oc//创建路径对象UIbezierPath *path = UIbezierPath alloc init//通过路径对象拼
2020-12-02 16:33:32
264
原创 我回来了笔记5
GCD信号量-dispatch_semaphore_t1.简介dispatch_semaphore_create(long value); // 创建信号量dispatch_semaphore_signal(dispatch_semaphore_t deem); // 发送信号量dispatch_semaphore_wait(dispatch_semaphore_t dsema, dispatch_time_t timeout); // 等待信号量2.用信号量机制使异步线程完成同步操作众所周知
2020-12-02 16:24:11
178
原创 我回来了笔记4
./ 表示当前文件夹获取info。plist文件[NSBundle mainBundle].infoDictionary;—————————————————————————————————打印宏(debug版本下才执行CZLog打印)#ifdef DEBUG#define CZLog(…) NSLog(__VA_ARGS__)#else#define CZLog(..)#endif#ifdef __OBJC__ (OC文件才) #endif———————
2020-12-02 16:11:11
135
原创 我回来了之笔记3
回来了 ,还是用这个吧暗黑模式#define iSDark ([UIApplication sharedApplication].delegate.window.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) //是否是暗黑模式 if (@available(iOS 13.0, *)) { UIColor *divideLineDyColor = [UIColor colorWithDynamicP
2020-12-02 15:30:17
105
原创 iOS 中地图之MapKit和Core Location
最近公司是用的百度地图的API 最近再换成原生地图 记录一下简单的demo好的链接如下点我#import "baseMapPage.h"#import <CoreLocation/CoreLocation.h>#import <MapKit/MapKit.h>#import "CustomAnnotation.h"#import <AddressBook/AddressBook.h>@interface baseMapPage ()<MKMapV
2020-07-16 15:32:28
396
原创 一些知识点的链接
KVC和KVO详解https://www.jianshu.com/p/b9f020a8b4c9LLDB调试利器及高级用法https://www.jianshu.com/p/c91f843a64fcrunloop、自动释放池、线程、GCDhttps://www.jianshu.com/p/fcb271f69038UIApplication初探https://www.jianshu.com/p/9f507bee5ce7...
2020-07-06 09:44:47
205
原创 iOS runloop笔记
记录一下前几天的学习内容网上有两篇文章写的很好第一篇第二篇//// ViewController.m// Runloop//// Created by Civet on 2020/6/28.// Copyright © 2020年 icivet. All rights reserved.////https://www.jianshu.com/p/ac05ac8428ac//https://www.jianshu.com/p/fcb271f69038// 默认模式
2020-07-01 09:42:12
165
原创 iOS runtime运行时详解
记录一下之前的学习内容ViewController.m中//栈 是高地址往低走 堆是低地址往高走 , //(堆栈溢出 堆和栈 被分配到内存区域的两边 分别往中间存储,存满碰头就会溢出)//这是一个方法: OC方法的本质 C函数 == 函数调用栈- (void)viewDidLoad { [super viewDidLoad]; //打上断点运行 寄存器sp指向栈顶 类似栈顶指针 NSObject *objc= [[NSObject alloc]init];
2020-06-28 08:55:14
139
转载 IOS中retain,assign,copy的区别
(1)、assign是直接赋值。不会涉及引用计数问题,主要用于对objc基础数据类型(NSInteger、CGFloat等)和C基本数据类型(int 、double、float、char等)的赋值.(2)、retain是指针拷贝,使用了引用计数,对对象进行retain操作之后将使对象的引用计数+1,增加了一个对原对象的引用。(3)、copy是值拷贝,对对象进行copy操作之后相当于给原对象做了一份拷贝。新对象的值将和原对象相同,但是新对象和员对象各自有自己的内存地址,即,新对象的内存地址不同于原对象,所
2020-05-18 08:41:49
304
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人