- 博客(31)
- 资源 (9)
- 收藏
- 关注

转载 iOS波纹动画
一 . 摘要: a.没有接触到的时候以为波浪线很难,其实很简单,它与我们高中学过的正弦曲线相关。 b.水波纹的关键点就是正弦函数 正弦函数解析式:y=Asin(ωx+φ)+ h φ :(初相位):决定波形与X轴位置关系,(左加右减的原则) ω : 决定周期(最小正周期T=2π/|ω|) A:决定峰值(即纵向拉伸压缩的倍数) h :表示波形在
2017-05-02 15:38:40
2179
1
转载 iOS-规避iOS审核4.3规则的重心
前言最近iOS卡审严重,很多小伙伴都被拒了,也有很多小伙伴收到4.3礼包,这里就说说4.3吧!规避4.3的重心,切断当前马甲包与以往马甲包的所有相似性关联;相似关联a. ipa包特征; b. 开发者帐号; c. 打包电脑; d. 上传IP; e. 材料相似;分项细述1. ipa包特征:包括有代码相似性,资源相似性;代码相似性解决办法:a. 已有代码的混淆(改类名、改函数名、改属性名、垃圾代码、垃圾类等等)b. 添加一些无...
2020-06-14 10:31:59
364
原创 XCode11中The app delegate must implement the window property if it wants to use 如何解决
用XCode11新建一个工程支持的最小iOS版本小于iOS13的话,XCode控制台会爆出[Application] The app delegate must implement the window property if it wants to use a main storyboard file.的提示。只需要两步就可以解决问题,1.添加window属性@property (non...
2020-03-27 10:36:15
7384
原创 Xcode编译报错 std::(如std::__1::basic_string)
导入了 FaceBook的 FrameWOrk 出现了34个错误 ,需要导入系统库 libc ++ ,就没有错误了
2020-03-26 14:04:45
1456
原创 手动引入FaceBook报错"_vDSP_mmul"、"_vDSP_dotpr"、"_vDSP_vclip"
iOS 编译之"_vDSP_mmul"、"_vDSP_dotpr"、"_vDSP_vclip"需要添加系统库
2020-03-26 14:02:08
1872
转载 iOS SDK创建并且合并真机和模拟器framework
从两篇文章中得到的总结:一直到第七条是相关的SDK的创一、创建framework项目创建framework工程要选择iOS --> Cocoa Touch Framework 输入项目名称HawkeyeSDK也是编译生成的framework的名称。 framework的名称也可以以后在项目中更改创建framework.gif二、编辑framework代码创建完...
2020-03-18 14:31:37
1780
1
原创 安装Vue脚手架创建Vue项目
安装node与npm首先使用node -v命令查看mac是否已安装node与npm1.打开终端,执行以下命令安装Homebrewruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"brew install node //sudo 使用admin权限安装成功...
2020-03-03 18:23:15
232
原创 Xcode11 - 低于iOS13 的Scenedelegate的删除
删除Scenedelegate的".h"和".m"文件 删除Info.plist文件中的Application Scene Manifest配置; 删除AppDelegate.m文件中的两个管理Scenedelegate生命周期代理方法 pragma mark - UISceneSession lifecycle (UISceneConfiguration)...
2020-03-03 09:47:04
2042
原创 NSMutableArray 使用 copy修饰会发生什么
这其实是用到了最初的MRC的知识,在setter方法的时候会调用copy strong retain 等,到这里我不得不衍生一下copy和mutableCopy 的区别在我的另一篇文章里https://mp.youkuaiyun.com/postedit@property (nonatomic,copy) NSMutableArray *mutableArray;//崩溃// NS...
2020-02-05 16:44:42
710
转载 copy 和 mutableCopy的区别
1.字符串拷贝copy 浅拷贝,不拷贝对象本身,仅仅是拷贝指向对象的指针。 NSString *str1 = @"qqq"; NSString *str2 = [str1 copy]; NSLog(@"\nstr1 = %@ str1P = %p \n str2 = %@ str2P = %p", str1, str1, str2, str2);//运行结...
2020-02-05 16:37:57
486
原创 如何对tableview进行性能优化
1.cell的重用机制方面优化UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:reuseID];UITableView最核心的思想就是UITableViewCell的重用机制。简单的理解就是:UITableView只会创建一屏幕(或一屏幕多一点)的UITableViewCell,其他都是从中取出...
2020-02-04 21:58:28
311
原创 关于ViewController的生命周期
- (instancetype)initWithCoder:(NSCoder *)coder- (void)awakeFromNib- (void)loadView- (void)viewDidLoad- (void)viewWillAppear:(BOOL)animated- (void)viewWillLayoutSubviews- (void)viewDidLayou...
2019-11-20 11:45:21
114
转载 CGD调度组
封装任务并把任务添加到队列中 参数1: 调度组 参数2: 队列 参数3: 封装任务notify和wait都可以 就是wait会阻塞线程 notify 不会阻塞dispatch_queue_t queue = dispatch_queue_create("queue", DISPATCH_QUEUE_CONCURRENT); dispatch_...
2019-09-03 18:40:24
141
原创 CGD 栅栏函数
1. 创建并发队列 栅栏函数不能使用全局并发队列, 必须是自己通过函数创建的并发队列- (void)barrier{ /* 创建并发队列 */ /* 栅栏函数不能使用全局并发队列, 必须是自己通过函数创建的并发队列 */ dispatch_queue_t queue = dispatch_queue_create("queueq", DISPATC...
2019-09-03 17:16:25
454
原创 iOS 自旋锁
代码混淆马甲包混淆----原文地址:https://blog.youkuaiyun.com/u014220518/article/details/954820061.OSSpinLock处理效率比synchronized要快很多.如果是频繁操作,推荐使用模拟一个耗时操作分别加这两种锁 消耗的时间比较一下- (void)OSSpinLockAndSynchronized{ OSSpinL...
2019-09-03 16:41:56
747
原创 Dispatch Source Timer 与NSTimer
Dispatch Source Timer 是一种与 Dispatch Queue 结合使用的定时器。当需要在后台 中定期执行任务的时候,使用 Dispatch Source Timer 要比使用 NSTimer 更加自然,也更加高效(无需在 前后台 queue 之前切换)。下面将详细给大家介绍关于Dispatch Source Timer的使用和一些注意事项dispatch_sour...
2019-08-22 11:15:58
603
原创 iOS开发 常备的底层面试题合集!
那些 iOS开发 常备的底层面试题合集!原文地址链接:本次更新V1.1.3(2019年08月16日)1.优化属性混淆属性字段重合出错;2.优化方法混淆移除override混淆;3.强化类名混淆适配swift;4.强化翻新资源名适配swift;5.修复部分垃圾类创建路径有误;更新说明https://gitee.com/zfj1128/ZFJObsLib_dmg/blob/ma...
2019-08-21 09:24:44
282
原创 NSNumber与NSValue
1.NSNumber继承与NSValue2.NSNumber *num1 = [NSNumber numberWithInt:10]; NSNumber *num2 = [NSNumber numberWithFloat:10.1]; NSNumber *num3 = [NSNumber numberWithBool:YES]; NSNumber *num4 = ...
2019-08-15 22:46:06
96
原创 CGRectOffset
CGRectOffset(frame,dx,dy)实例UIView *redV = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)]; redV.backgroundColor = [UIColor redColor]; [self.view addSubview:redV]; ...
2019-08-15 21:48:00
142
原创 CGRectInset
CGRectInset(frame,dx,dy);示例如下:UIView *redV = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)]; redV.backgroundColor = [UIColor redColor]; [self.view addSubview:redV];...
2019-08-15 21:27:30
185
原创 iOS UIScrollView
1. contentOffsetY : 相对于scrollView Frame 的顶点偏移量当scrollView 向下拉时,OffsetY为负数;当向上拉时,OffsetY不断增大,当越过原点后就会变成正值。2.contentInset : scrollView 的 contentView的顶点相对于scrollView的位置typedef struct UIEdgeInsets{...
2019-08-03 11:16:07
101
原创 ios 多项选择与单项选择
一. 项目之前只用到了一个单项选择所以我就用了三段选择器,后来有添加了多项选择,就不能用选择器了。所以,我就把单项选择和多项选择封装了起来。 二.ios tableView 的cell的默认的imageView 前提是一定要设置tableView的edting状态为YES,选中状态能够实现多选 但是不能实现单选 这个例子也有一个Demo 但是不能实现单选三.我所实现单选多选的关键是所有选中状
2017-06-07 17:27:26
1215
原创 真机调试10.3.1
iOS真机调试包的路径 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport 把10.3.1的安装包放在这里,然后重新启动电脑就可以了。
2017-05-15 10:31:49
278
原创 CGColorSpaceRef CGGradientRef
通用标准创建 // 灰度 色彩 CGColorSpaceRef graySpaceRef = CGColorSpaceCreateDeviceGray();// RGBA 色彩 (显示3色)CGColorSpaceRef rgbSapceRef = CGColorSpaceCreateDeviceRGB();// CMYK 色彩 (印刷4色)CGColorSpaceRef c
2017-05-08 18:20:00
1745
原创 NSRunLoopCommonModes和Timer
当使用NSTimer的scheduledTimerWithTimeInterval方法时。事实上此时Timer会被加入到当前线程的Run Loop中,且模式是默认的NSDefaultRunLoopMode。而如果当前线程就是主线程,也就是UI线程时,某些UI事件,比如UIScrollView的拖动操作,会将Run Loop切换成NSEventTrackingRunLoopMode模式,在这个过程中,
2017-05-08 15:07:18
245
原创 CAGradientLayer(梯度图层)
CAGradientlayer可以绘制一个充满整个图层的颜色梯度(包括原型图层等图层)在一个背景颜色上了解在CAGradientLayer之前,先要我们了解一下CALayer的坐标,如下图,一个层的左上角为(0,0),其右下角坐标为(1,1),中心点是(0.5,0.5),任何图层都是如此,和父图层以及自身的形状无关。 他和平时的坐标系是反过来的Y轴朝下CAGradientLayer的属性属性颜色一
2017-05-08 14:56:27
601
原创 CGContextAddArc
摘要先来复习一下常用的iOS开发函数 1.常用名称 对应常数 M_PI 圆周率(π) M_PI_2 π/2 M_PI_4 π/4 M_1_PI 1/π M_2_PI
2017-05-05 10:50:32
332
转载 iOS 线程同步与锁
线程同步说到多线程就不得不提多线程的锁机制,多线程操作过程中往往是多个线程并发执行的,同一个资源可能被多个线程同时访问,造成资源抢夺,这个时候如果没有锁机制会造成很大的问题。举个例子比如买票系统比如只剩下最后一张票但是又100线程进入购票环节,每个线程处理完票数都要减1,100个线程处理完以后票数为-99,这肯定是不对的。 因此要解决资源抢夺问题在iOS中有两种方法:一种是NSLock同步锁,另一
2017-05-04 10:29:59
227
转载 iOS 多线程
简介当用户播放音频、下载资源、进行图像处理时往往希望做这些事情的时候其他操作不会被中断或者希望这些操作过程中更加顺畅。在单线程中一个线程只能做一件事情,一件事情处理不完另一件事就不能开始,这样势必影响用户体验。早在单核处理器时期就有多线程,这个时候多线程更多的用于解决线程阻塞造成的用户等待(通常是操作完UI后用户不再干涉,其他线程在等待队列中,CPU一旦空闲就继续执行,不影响用户其他UI操作),其处
2017-05-03 10:12:59
254
转载 iOS RunLoop
一.RunLoop基本概念概念:程序的运行循环,通俗的来说就是跑圈.1. 基本作用(作用重大) (1) 保持程序的持续运行(ios程序为什么能一直活着不会死) (2) 处理app中的各种事件(比如触摸事件、定时器事件【NSTimer】、selector事件【选择器·performSelector···】) (3)节省CPU资源,提高程序性能,有事情就做事情,没事
2017-04-17 16:49:08
205
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人