自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(124)
  • 资源 (19)
  • 收藏
  • 关注

原创 热更新相关

并发队列+同步函数: 没有开启新线程;串行执行任务手动创建的串行队列+同步函数:没有开启新线程;串行执行任务主队列+同步函数:死锁并发队列+异步函数:有开启新线程;并发执行任务;手动创建的串行队列+异步函数:有开启新线程,且只开启一条新线程;串行执行任务;主队列+异步函数:没有开启新线程,串行执行任务注意:主队列的任务只会在主线程执行;同步函数没有开启...

2024-01-18 17:03:05 377

原创 devicesupport下载靠谱资源

iOSDeviceSupport: 存放iOS镜像文件,真机调试包,供大家参考,目前收录iOS8.0~iOS16持续更新中 - Gitee.com

2024-01-02 11:13:35 487

原创 责任链vs金融登录

金融app相对普通app而言,出于安全考虑,其安全校验方式比较多,以某些银行app为例,手机号登录成功后,会增加指纹、手势、OCR人脸等验证!//0 1 2 模拟责任链中密码、手势、指纹的优先级。//沿着责任链,指派给下一个业务处理。//没有业务处理,上抛。//当前业务处理掉了,上抛结果。//各个业务在该方法当中做时机业务处理。//基类BusinessObject。//当前业务进行处理。//模拟处理逻辑优先级。//响应者的处理方法。

2023-07-26 20:35:52 922

原创 ios with shell

iOS 自定义pod库插入shell脚本 - 简书

2023-05-08 20:24:50 129

原创 iosApplePay

4.2.1>Creating and Populating the Pass Package(创建一个包含Pass所有信息和资源文件的文件夹):Passes 的创建需要一个 pass.json 文件,这个 pass.json 文件包含 pass 的所有信息,如票据类型,logo、icon资源图片,过期时间、票据描述等信息。// 2.7 通过指定merchantCapabilities属性来指定你支持的支付处理标准,3DS支付方式是必须支持的,EMV方式是可选的,

2023-04-07 13:24:55 2859

原创 web--缓存(二)(NSURLProtocol)

NSURLProtocol是一个抽象类,我们在使用时一般使用它的子类,其作用是可以拦截网络请求,并可用重定向网络请求。这种方法还是隐藏着很多坑的,它的使用方法就不在这里赘述了,ios wkwebivew拦截js、css,图片资源:https://www.jianshu.com/p/4fc13d4d5607ios开发之---NSURLProtocol:https://www.jia...

2023-04-06 16:38:57 359

原创 App间URLScheme跳转配置

AScheme跳转到BScheme配置-iOS文档类资源-CSDN下载1、AScheme工程配置1.1》AScheme的info.plist中配置LSApplicationQueriesSchemes(即BScheme的URL Schems:AppB)1.2》AScheme的跳转代码2、BScheme工程配置2.1》BScheme配置自己的URL Type下的URL Schemes即AppB2.2》BScheme的AppDelegate中接收从AScheme跳转过来的数据..

2022-02-21 16:27:42 355 1

原创 ios解析测试包的crash

条件:用本死的jekins打的包:可在内网下载测试包的dsym文件测试同学下载的内网包出现crash:1》获取.crash文件1.1》xcode->window->Devices and Simulators ->View Device Logs->找到对应crash;1.2》如果应用已上架 通过iTunes Connect(Manage Your Applications - View Details - Crash Reports)获取用户的crash日志

2022-02-15 13:14:34 271

原创 ios加密算法AES

1、加密相关:加密算法概述 https://mp.weixin.qq.com/s/aorP5T5rDFiljIMeLXCBvg2、ECB和CBC:ECB和CBC区别:https://blog.csdn.net/hqmln/article/details/84715503ECB和CBC模式解读:https://www.cnblogs.com/wangle1001986/p/11468419.html3、AES相关:1》AES加密过程详解https://blog.csdn.net/q

2022-01-18 13:24:01 3017

原创 网络协议--tomcat服务器搭建

启动服务器模拟软件tomcat :1》java环境搭建:安装JDK(JDK==> JRE(java run environment)===> JVM (编译成的字节码转换成二进制文件))2》启动tomcat服务器:2.1》Mac电脑: cd到tomcat的bin文件夹(即startup.sh所在的文件夹);2.2》直接执行shstartup.sh会报错:➜ bin sh startup.shCannot find ./catalina.shThe file...

2021-11-23 00:18:45 508

原创 迁移git仓库某分支到另一个仓库某分支

当前仓库地址为:git@git.xiaojukeji.com:one-ios/UnifyPassportService.git待迁移分支为:global_release_20210916_nationalTick目的仓库地址为:git@git.xiaojukeji.com:global/UnifyPassportService.git目的分支为:global_release_20211028_nationalTick步骤:cd到.git目录下并checkout到old

2021-10-28 16:45:44 5286

原创 ios15导致flutter的默认字体变粗

在Flutter自定义字体 - 芒果文档升级为ios15后导致,flutter未设置font的字体变粗,后做了如下对比Text( 'Get Started1', style: TextStyle( fontSize: 50, fontWeight: FontWeight.normal, ),),Text( 'Get Started2', style: TextStyle(fontSize: 50),),Text( 'Get Started3', st

2021-10-13 21:51:41 2692

原创 重签名

重签名:旧包的bundle identifier是com.bxbank.mobile-bank ;用新的bundleIdentifier对旧包重新签名一、从embedded.mobileprovision中提取出entitlements.plist权限文件1》security cms -D -i embedded.mobileprovision > temp.plist2》/usr/libexec/PlistBuddy -x -c 'Print :Entitlements' temp.

2020-05-25 19:15:26 1046

原创 自动化打包---fastlane

简单写下我使用fastlane的过程,及遇到的问题,希望自己下次在用到fastlane的时候能迅速避坑,希望也能帮助在看文章的你:我的步骤如下:1、配置ruby环境:fastlane是基于ruby的,如果你对电脑没有ruby的话。在这有个小建议:希望你安装国内的ruby源,因为如果你用国外的ruby的话,在下面为工程安装fastlane时,因为墙的原因,终端会卡在某个地方如果你已经安装...

2019-11-09 19:41:57 393

原创 集成RN遇见的坑

先来简单了解下相关概念:搭建环境:1、安装必需的软件1》Homebrew:Mac系统的包管理工具,用于安装NodeJS和一些其他必须的工具软件2》Node:用Homebrew安装Node.js(是一个基于Chrome V8引擎的js运行环境)设置npm镜像:(npm:node package manager 节点包管理器,是Node.js的包管理器,用于节点插件的管理...

2019-09-28 08:48:24 747

原创 NSURLProtol(NSURLSession与 NSURLConnection区别)

在使用NSURLProtocol拦截原生请求时,也有坑,这关乎于你用的AFN是哪个版本的,当然如果你用的是最新的AFN(NSURLSession)那么你会遇见拦截不到请求的问题(待完善,工作笔记在公司电脑上,且等我为你细细分解)...

2019-09-28 08:27:44 251

原创 web--缓存(二)(NSURLProtocol)

之前的工作笔记在公司电脑上,因此这里就先来浅谈下NSURLProtocol做web缓存时令人印象深刻的坑吧!1、使用的是UIWeb和WKWeb的区别:UIWeb就比较简单了,随便网上搜下就能找到NSURLProtol使用方法,按上边的做就行;WKWeb就有点麻烦了,因为和UIWeb不一样,wk需要做些特殊的设置,才能拦截到https和http请求(待完善);2、对于post请求的处...

2019-09-28 08:23:17 199

原创 web--缓存(一)(HTTP + APP cahe)

最近在写一个web容器,容器有一一个小功能是要对web做缓存,所以最近一直研究ios的web缓存,在研究过程中遇到不少问题也收货颇多,现总结如下:web缓存的目的:节省服务器资源;使页面加载更流畅,减少等待时间增加用户体验;节省用户流量等。。。web缓存有很多种方法NSURLCache、App Cache(Manifest文件)、NSURLProtocol:1、NSURLCache(i...

2019-09-08 16:56:53 624

原创 安卓笔记-第一行代码版(看书慢,故不打算再抠书,但笔记是心血)

/Users/yangyangzi/Desktop/YangZi2/android/第一行代码学习笔记.rtfd (公司电脑)第一章安卓系统架构四层架构:1、Linux内核层:为安卓设备的各种硬件提供底层驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、wifi驱动、电源管理2、系统运行库层:通过c/c++库为安卓系统提供主要特性支持。如sqlite库提供数据库支持,o...

2019-09-02 19:21:21 3028

原创 swift笔记

Swift5.1 https://docs.swift.org/swift-book/LanguageGuide/Subscripts.html1、swift没有隐式转化Swift中没有隐式转化,不会将整形自动转成浮点型let m = 32let n = 3.14let result = m + n 错误写法2、省略; 省的是变量后的类型,可以类型推导...

2019-09-02 19:21:12 2088

原创 安卓笔记-视频版(还没学完)

/Users/yangyangzi/Desktop/YangZi2/android/Android12/2019/视频学习.rtfd (公司电脑)视频一、控件:TextView:标签,用于显示内容,内容不可编辑;Plain Text:内容可编辑;Button; imageView;imageButton:带有点击功能的图片;checkBox复选框;RadioButton单选按钮;radio...

2019-09-02 19:21:04 2716 3

原创 swiftUI-官方文档(to be continued)

/Users/yangyangzi/Desktop/YangZi2/swift/swiftUI-官方文档-学完js再 回来学/SwiftUI.rtf (公司电脑)学习教程:https://developer.apple.com/tutorials/swiftui/creating-and-combining-views一、创建和组合视图6.26:需要用Catalina macO...

2019-09-02 19:20:53 3296 2

原创 js笔记(7.8~7.19)

/Users/yangyangzi/Desktop/YangZi2/JavaScript/JavaScript.rtfd (公司电脑)7.8编译型语言:程序执行之前,需要专门的一个编译过程,把程序编译成为机器语言的文件,比如exe文件;强类型语言,java c++解释型语言:程序执行之前,不需要编译,直接运行时边解析边执行的语言弱类型语言 python php ;JavaS...

2019-09-02 19:20:41 2798

原创 html与css笔记(旧)

一:简介h5 优点:兼容性强;更新方便 缺点:正因为其兼容性强,需要考虑的设备类型比较多,故用户体验差h5开发工具 `eclipseDreamweaverwebStorm (iOS)web3.0时代主流技术:HTML5+CSS3HTML5:亮点:Canvas(画板);音视频;存储(即数据库);定位(Geolocation);多线程处理CS...

2019-09-02 19:20:28 3114

原创 js笔记(旧)

2016.3.15JavaScript:广泛用于浏览器客户端的脚本语言1.JS常见用途HTML的DOM操作(节点操作,比如添加、修改、删除节点)即对标签元素进行动态的增删改查DOM操作可访问 JavaScript HTML 文档的所有元素。给html网页增加动态功能,比如动画事件处理:比如监听鼠标点击、鼠标滑动、键盘输入2.Node.js:Node是一个Jav...

2019-09-02 19:20:19 2807

原创 w3c h5 + css + js笔记

公司电脑:/Users/yangyangzi/Desktop/YangZi2/2019前端/h5+css+js「1. js基础/css基础/html基础 w3school https://www.w3school.com.cn/js/index.asp 菜鸟 https://www.runoob.com/js/js-tutorial.html 注意点...

2019-09-02 19:19:37 7364

原创 xcode11beta版SwiftUI的画布无法展示

对SwiftUI怀有极大的好奇心,先是升级了Xcode11beta版,就迫不及待的创建了SwiftUI的工程,本以为会一切顺利,结果坑还是不有的,现总结如下:1、创建SwiftUI后发现画布不展示(画布是swiftUI新的功能,即可以事实查看界面),ps:我当前的系统是莫哈维Mojave10.14.5。查看苹果官方文档后,发现SwiftUI需要将系统升级到10.15,而现在只有beta版的,o...

2019-06-27 11:00:57 2727

原创 把代码打包成静态framework给客户使用

一般第三方框架(例如个推,友盟等),为了使用方便提供了两种使用方式:方式1、直接将其sdk,一般是framework形式,拖拽到客户工程中;方式2、将sdk托管到远程仓库通过cocoapods管理;这两种方式看似只差一个加载方式的问题,但是如果此框架有图片或xib时,则方式一和方式二加载图片和xib的路径也不相同。下边就来分别聊一聊制作过程和两种方式的区别:一、制作framewor...

2019-04-23 17:48:36 445

原创 ios的库

12.251、1》静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多分冗余拷贝动态库:链接时不复制,程序运行时由系统动态库加载到内存,供程序调用,系统只加载一次,多个程序公用,节省内存2》静态库形式:.a .framework3》ios动态库形式:.dylib .tbd .framework 所有.dylib和.tbd都属于动态库,.framework可能是动态库可能是...

2019-03-31 21:41:41 158

原创 git 朝花夕拾

git branch -r 查看远程所有分支git branch -a查看远程和本地所有分支git branch -d one-one 删除本地已合并的分支one-onegit branch -D one-one 删除本地未合并的分支one-one (好像也能删除已合并的分支,亲测)git push origin --delete one-one 删除远程分支one-one...

2019-03-31 21:41:15 244

原创 pbxprojHelper的使用

简介:pbxprojHelper可以通过原生UI修改Xcode的工程配置用途:我们在进行版本管理时,新版可能只是修改了代码,而不需要修改配置,在提交svn或git时尽量保持远程仓库上的代码配置一致,如果手动修复配置可能会产生不必要的冲突,这时pbxprojHelper就派上用场了,pbxprojHelper可以通过旧版本和新版本工程的bxbank.xcodeproj文件产生JsonConfigu...

2019-02-13 17:39:35 395

原创 组件化---把组件打包成framework进行cocoapods管理

在组件化工程中,有些代码是我们不想暴露给合作伙伴的,所有我们会用库的方式实现代码的共享,因为这里涉及到了资源文件,所以选择framework类型的库,static 和 dynamic都在此进行了尝试。1、制作framework:制作framework过程中为便于调试,我们采用workspace对project和framework联编的方式,见之前的博客:https://blog....

2019-01-11 16:47:06 1916

原创 dynamic与staic framework的制作注意点及差异

我们自己制作的framework根据mach-o分为dynamic与static两种,此处的dynamic名义上是动态,但并非真正的动态库,只有系统的库才是真正的动态库,我们自己做的framework实质上都是静态库(因为动态库可以多个app公用的,这样就违背了沙盒的实质,而我们作为开发者开发的framework不会打破这种机制),也可以叫做embeded即嵌入式的framework。fram...

2019-01-09 17:02:13 718

原创 用xcode的workspace管理多个工程或工程与framework联编

在创建framework给他人用时,必须保证我们的framework是没有问题的,这就需要对此framework进行多次调试,如果每次修改framework后,再将此framework导出并添加到测试工程的话,就太麻烦了。因此我们最好能将此测试工程和这个framework放在一起进行调试,这就不得不提到workspace了,他可以管理多个工程,也可以将工程和framework打包前的源码进行联编。...

2019-01-09 14:45:25 2183

原创 杂谈

      北京最近真的是太冷了,没承受住严寒的拷问,感冒了!学习的心情和状态完全没有了,索性放松一下,调整下状态,之前一直写的都是技术博客,今天来做回文青。       生病是难受的!状态是这样的:早一粒晚一粒,一粒接一粒,刚喷嚏又喷嚏,喷嚏连喷嚏!感冒两天,一包新开的纸抽见底,速度之快,令人咋舌!脑袋一直晕乎乎的,走路就像踩海绵似的!在暖气屋里焐个大羽绒服依旧会有发抖的时候,喝一杯热水之后...

2018-12-28 11:28:27 194

原创 组件化---组件代码库的分层并用.h文件收集代码库中的文件

1、之前写的组件代码库结构都比较简单,但实际在进行项目组件化过程中,工程的结构就比较复杂了,因此涉及到了对文件的分层,很多文章都以subsepc的方式对组件文件分层,其实这样做太麻烦,而且podspec容易出问题,我在组件化过程中也试过这种方法,不好使。这里介绍一个简单方法:将组件库的podspec文件s.source_files = 'YHTestSevenEight/Classes/**/...

2018-12-21 14:47:40 311

原创 组件化---创建本地测试组件代码库

组件化时,最终代码库是要以远程私有库的方式体现。但是由于需要组件化的项目一般都已经小有规模,在组件化过程中肯定要不断修改调试,所以,如果组件库在开发者调试阶段就push到远程仓库,对于组件库代码的修改及测试都非常麻烦(只要代码有修改就要push到远程;测试此远程组件库的时候又需要将此组件库pod install本地测试工程中测试,当网速慢的时候你懂的!而且我们这还有流量监控,曾经因为更新了xcod...

2018-12-20 17:42:07 674

原创 组件化---为私有库添加依赖库

场景描述:创建一个私有远程库名为YHTestFive,这个库依赖于两个远程仓库,一个是我自己创建的码云上的私有仓库YHTestBaseFive;另一个是SDWebImage;按正常的顺序https://blog.csdn.net/denggun12345/article/details/84989492将YHTestFive设置为远程私有库,需要注意以下几点:1》podspec文件要加一项...

2018-12-19 14:28:07 3080

原创 组件化---命令行报错[!] The repo `XXX` at `../../../../.cocoapods/repos/XXX` is not clean

在提交本地podspec到远程私有索引库YHTestOneSpecGroup时,执行pod repo push YHTestOneSpecGroup YHTestBaseFive.podspec --allow-warnings命令时报错:[!] The repo `YHTestOneSpecGroup` at `../../../../.cocoapods/repos/YHTestOneSp...

2018-12-18 16:23:16 2883 2

原创 组件化---私有库中的图片和xib

私有库中出现以下情况要注意了1、加载图片:例如YHTestOne1》场景:在UIViewController上用纯代码方式添加一个按钮用[headBtn setImage:[UIImage imageNamed:@"Enterprise_bots_woyaotikuan"] forState:UIControlStateNormal]给vc的button加载图片时可以的。2》E...

2018-12-14 18:51:20 1398

桥接模式-继承-iOS

桥接模式-继承-iOS

2023-07-28

桥接模式-代理-iOS

桥接模式-代理-iOS

2023-07-28

策略模式的实例代码demo

策略模式的实例代码demo

2023-07-28

责任链VS金融登录校验

对于责任链的思考,对于金融登录校验的思考

2023-07-26

AScheme跳转到BScheme配置

AScheme跳转到BScheme配置 注:截图四张,只是从AScheme跳转到BScheme的配置;但是两个工程的代码是AScheme跳转到BScheme,并支持了从BScheme跳转到AScheme

2022-02-21

ios解析crash示例文件上传

ios解析crash示例文件上传

2022-02-15

YHELKitSDK-master.zip

ios加解密 AES:128/192/256; RSA; Base64;MD5

2022-01-18

yfc.zip 证书测试APNS

yfc.zip 证书测试APNS

2021-08-10

fastLane.zip

ios单工程自动打包,简单写下我使用fastlane的过程,及遇到的问题,希望自己下次在用到fastlane的时候能迅速避坑,希望也能帮助在看文章的你

2019-11-09

cocoapodsAndFramework

把组件打包成静态framework,分别做成sdk拖拽到本地工程及将此framework进行cocoapods管理使用的异同,两种方式图片和xib的取出路径不同

2019-04-23

深拷贝与浅拷贝;copy与mutableCopy;容器类型的深拷贝;copy和strong;

1、只有NS类型调用copy方法才是浅拷贝,其他的情况全是深拷贝 2、容器类调用copy或mutableCopy能出现的深拷贝的情况下,只是容器的深拷贝,而非容器内元素的深拷贝 3、无论是声明NSString还是NSMutableString类型的属性时,我们希望此属性被赋值为NSMutableString类型的字符串后,此属性不会因这个可变类型字符串的改变而改变(这也是多数情况下的用法),那就用copy修饰属性

2018-11-06

respondsToSelector与instancesRespondToSelector

1、二者的作用相同:都是判断某个类是否实现了某方法(注意:是是否实现某方法,必须在.m里写了{}的方法,只在.h里声明了不算) 2、有实际意义的组合只有3种 @1   类 + instancesRespondToSelector + 实例方法 yes =  类是否实现了某实例方法 @2  类 + respondsToSelector + 类方法    yes = 类是否实现了某类方法 @3  实例 respondsToSelector 实例方法 yes  =  类是否实现了某实例方法 且@1和@3的作用相同

2018-10-31

UIWebView原生与H5交互

UIWebView原生与H5交互,pre;confirm;等包含三个H5页面跳转的交互demo

2018-10-30

WKWebView原生与H5交互

为防止造成混淆,这里只写WKWebView原生与H5交互关键代码

2018-10-30

h5余原生交互

1、H5调原生:1》通过代理调原生 2》block调原生方法 2、javaScriptCore版原生调H5 1》用evaluateScript方法直接调用 2》objectForKeyedSubscript + callWithArguments 方法调用

2018-10-30

dispatch_barrier_(a)sync

异步和同步的栅栏函数都有以下特点: 1、通过dispatch_barrier_(a)sync添加的block会等待前边所有的block执行完(不包括回调)才执行。 2、在其后添加的block会在dispatch_barrier_(a)sync添加的block执行完之后(不包括回调)再执行; 不同点: 1、dispatch_barrier_sync:同步栅栏函数在原线程中执行block,不开辟新线程;在将任务插入到queue的时候,       dispatch_barrier_sync需要等待自己的任务结束之后才会继续程序,然后插入被写在它后面的任务。 2、dispatch_barrier_async:异步栅栏函数会开辟新线程执行block;ispatch_barrier_async将自己的任务插入到queue之后,不会等待自己的任务结束,它会继续把后面的任务插入到queue。

2018-10-25

gcd处理ios多请求常用的几种情况

//1、进某页面要发四个请求,四个请求之间无影响 //2、进某页面要发四个请求,四个请求之间无影响,等所有请求回来刷新界面 //3、进某页面要发四个请求,其中某个请求的请求参数是另一个请求结果的返回字段(请求2依赖于请求1的回调结果) //4、进某页面要发四个请求,其中某个请求的两个请求参数是另两个请求结果分别返回的两个字段(请求3依赖请求1、2的回调结果) //5、进某页面要发四个请求,请求3依赖请求2的回调结果,请求2依赖于请求1的回调结果 //6、进某页面要发100个请求

2018-10-24

dispatch_semaphore two

ios开发GCD的dispatch_semaphore:1、常用函数及作用 2、信号量的用途:1》同步不同线程 2》当做锁来使用:3》控制同时执行的线程数:

2018-10-22

dispatch_semaphore

//信号量用途1://两个资源,三个线程执行;设定信号量值为2,先执行两个线程,等执行完一个,才会继续执行下一个,保证同一时间执行的线程不超过两个,保证线程的最大并发数 //信号量用途2://创建信号量的时候当锁使,保证wait和signal之间只有一个线程能进去 //信号量用途3:同步不同线程的操作

2018-10-19

dispatch_group包含wait包含forever时长

两种方式都是模拟任务block内为异步操作的情况,方式一先执行的dispatch_group_notify里的代码,后执行的dispatch_group_async里的任务代码,这与我们的初衷相违背。如果任务block内为同步操作时,则无论哪种方式都不会出现这种状况。这也是dispatch_group的一个坑人的地方。我们在使用dispatch_group时一般都是想异步执行任务,所以,一定要注意这个坑

2018-10-18

dispatch_group包含wait

以上两种方式都是模拟任务block内为异步操作的情况,方式一先执行的dispatch_group_notify里的代码,后执行的dispatch_group_async里的任务代码,这与我们的初衷相违背。如果任务block内为同步操作时,则无论哪种方式都不会出现这种状况。这也是dispatch_group的一个坑人的地方。我们在使用dispatch_group时一般都是想异步执行任务,所以,一定要注意这个坑

2018-10-18

dispatch_group

两种方式都是模拟任务block内为异步操作的情况,方式一先执行的dispatch_group_notify里的代码,后执行的dispatch_group_async里的任务代码,这与我们的初衷相违背。如果任务block内为同步操作时,则无论哪种方式都不会出现这种状况。这也是dispatch_group的一个坑人的地方。我们在使用dispatch_group时一般都是想异步执行任务,所以,一定要注意这个坑

2018-10-18

NSPredicate

NSPredicate的使用总结,OC中的谓词操作是针对于数组类型的,他就好比数据库中的查询操作,数据源就是数组,这样的好处是我们不需要编写很多代码就可以去操作数组,同时也起到过滤的作用,我们可以编写简单的谓词语句,就可以从数组中过滤出我们想要的数据

2018-08-17

空空如也

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

TA关注的人

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