
iOS
woshijunjunstudy
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
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 · 373 阅读 · 0 评论 -
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 · 7401 阅读 · 0 评论 -
手动引入FaceBook报错"_vDSP_mmul"、"_vDSP_dotpr"、"_vDSP_vclip"
iOS 编译之"_vDSP_mmul"、"_vDSP_dotpr"、"_vDSP_vclip"需要添加系统库原创 2020-03-26 14:02:08 · 1904 阅读 · 0 评论 -
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 · 2068 阅读 · 0 评论 -
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 · 725 阅读 · 0 评论 -
如何对tableview进行性能优化
1.cell的重用机制方面优化UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:reuseID];UITableView最核心的思想就是UITableViewCell的重用机制。简单的理解就是:UITableView只会创建一屏幕(或一屏幕多一点)的UITableViewCell,其他都是从中取出...原创 2020-02-04 21:58:28 · 327 阅读 · 0 评论 -
关于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 · 119 阅读 · 0 评论 -
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 · 150 阅读 · 0 评论 -
CGD 栅栏函数
1. 创建并发队列 栅栏函数不能使用全局并发队列, 必须是自己通过函数创建的并发队列- (void)barrier{ /* 创建并发队列 */ /* 栅栏函数不能使用全局并发队列, 必须是自己通过函数创建的并发队列 */ dispatch_queue_t queue = dispatch_queue_create("queueq", DISPATC...原创 2019-09-03 17:16:25 · 464 阅读 · 0 评论 -
iOS 自旋锁
代码混淆马甲包混淆----原文地址:https://blog.youkuaiyun.com/u014220518/article/details/954820061.OSSpinLock处理效率比synchronized要快很多.如果是频繁操作,推荐使用模拟一个耗时操作分别加这两种锁 消耗的时间比较一下- (void)OSSpinLockAndSynchronized{ OSSpinL...原创 2019-09-03 16:41:56 · 763 阅读 · 0 评论 -
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 · 622 阅读 · 0 评论 -
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 · 104 阅读 · 0 评论 -
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 · 150 阅读 · 0 评论 -
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 · 321 阅读 · 0 评论 -
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 · 193 阅读 · 0 评论 -
iOS UIScrollView
1. contentOffsetY : 相对于scrollView Frame 的顶点偏移量当scrollView 向下拉时,OffsetY为负数;当向上拉时,OffsetY不断增大,当越过原点后就会变成正值。2.contentInset : scrollView 的 contentView的顶点相对于scrollView的位置typedef struct UIEdgeInsets{...原创 2019-08-03 11:16:07 · 109 阅读 · 0 评论