自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (2)
  • 收藏
  • 关注

原创 swift 可选类型

2021-09-23 08:16:05 180

原创 Charles抓包App提示网络异常解决方法

背景当你测试某个App的时候,想要通过Fiddler/Charles等工具抓包看下https请求的数据情况,发现大部分的App都提示网络异常/无数据等等信息。以“运动世界校园”为例:网络异常Charles的请求全是200或者请求失败,就是没有给你提供你想要的信息例如下图你可能开始找证书的问题:是不是Fiddler/Charles的证书没有导入的手机中去?配置一遍又一遍,又开始对比web端浏览器的https发现没问题。这时候你可能已经开始怀疑人生了。那么究竟是不是证书的问题?

2021-09-16 17:18:04 4513 1

原创 Error fetching https://ruby.taobao.org/:RubySass淘宝镜源无效解决

(安装好Ruby后在命令行的操作在各个系统下的操作完全一致)由于国内网络原因,导致 rubygems.org 存放在 Amazon S3 上面的资源文件间歇性连接失败。所以会与遇到 gem install rack 或 bundle install 的时候半天没有响应;故此解决办法如下:首先移除掉rubygems.orggem sources --remove https://rubygems.org/然后换用淘宝镜源gem sources -a https://ruby.taobao.or

2021-09-15 23:20:13 1309

原创 解决 mac 10.15.4 安装cocoapods遇到的坑

今天升级macOS最新系统后,安装cocoapods遇到的bug问题,已解决。前面的配置完成后,不管输入sudo gem install cocoa pods还是输入sudo gem install -n /usr/local/bin cocoa pods都报错信息ERROR: Error installing cocoapods:ERROR: Failed to build gem native extension.current directory: /Library/Ruby/Gems/2

2021-09-15 23:17:05 579

原创 iOS 判断设备型号、屏幕尺寸、系统版本、设备朝向

现在的iOS开发中,因为iPhone的尺寸越来越多,有时候自动布局也很难适配出很精美的UI界面,难免有时候想根据机型来适配界面,所以在这里教大家一种很简单的来判断机型的方法。就是根据屏幕尺寸来判断。//判断设备型号#define UI_IS_LANDSCAPE ([UIDevice currentDevice].orientation == UIDeviceOrientationLandscapeLeft || [UIDevice currentDevice].orientation

2021-09-15 16:14:06 687

原创 APP从后台模式进入前台后打开指定页面

需求:前段时间在开发项目的时候,有一个需求,因为APP的一些信息比较敏感,所以如果用户在操作APP的过程中按下home键退到后台,超过指定的时间然后再切换到前台时,需要验证用户设置过的指纹或者是手势来对用户进行身份验证方案一:当APP进入前台的时候将rootViewController设置为指定的校验界面.但是有一个问题:当用户验证成功之后呢? 如何回到用户之前操作过的界面呢? 暂时我没有好的解决方案, 如果你想到了好的idea,咱们可以一起探讨下~方案二:当APP进入前台的时..

2021-09-15 10:36:36 432

原创 iOS App 设置启动图(LaunchImage)

基本上所有APP都有启动图,用来过渡APP启动时的一些耗时操作 (注意:启动图不是引导图,引导图得自定义VC)下面简单说一下如何设置启动图.1.点击 进入 Assets.xcassets ,右键新建一个 Iamge Set ,重命名为 “LaunchImage” (不一定要LaunchImage,可以随意取你喜欢的名字 )2.选中 LaunchImage ,在xcode的右边 设置需要显示的启动图 对应的机型 (我这里只选iphone的竖屏)3. 此时会出现相应的图片占位, 图片..

2021-09-13 16:41:41 3667

转载 0基础的git教程,傻瓜都会用的Github Desktop

苦恼你有没有为了学git的经历一而再再而三查看别人的文档还是学不会的经历,只是它、因为你没有使用git的需要,更何况繁琐的命令行让人头疼,什么缓存区,分支,HEAD,合并分支这些让人头疼的东西敬而远之,有一款github官方的应用程序就是为了小白而生的,这篇教程里不会介绍任何一个命令但是看完之后你能轻松使用git。git介绍什么是git?间接的说git是分布式版本控制工具,这你或许看过很多遍了,但是我还是想在这里重复一遍,git可以在一下情境中很有用: 你在写一篇很长的论文,比如说论文

2021-09-11 00:47:51 127

原创 XCode 10 错误 Multiple commands produce

错误:xxx.app:-1: Multiple commands produce '/Users/xxxxxxxxxxxxxx/Debug-iphonesimulator/xx.app':1)Target 'xxx' has create directory command with output '/Users/xxxxxxxxxxxxxxxxxxxxxxxxxxx/Debug-iphonesimulator/xx.app'2)That command depends on comman

2021-09-10 15:52:28 739

转载 MJExtension使用指导(转)

MJExtension能做什么? MJExtension是一套字典和模型之间互相转换的超轻量级框架 MJExtension能完成的功能 字典(JSON) --> 模型(Model) 模型(Model) --> 字典(JSON) 字典数组(JSON Array) --> 模型数组(Model Array) 模型数组(Model Array) --> 字典数组(JSON Array) 详尽用法主要参考 main.m中的各个函数 以及 NSObject+

2021-09-07 16:40:05 441

原创 __block作用深入研究block

block普通引用默认情况下,在block中访问外部变量是通过复制一个变量来操作的,既可以读,但是写操作不对原变量生效,下面通过代码来举证NSString *a = @"testa"; NSLog(@"block前,a在堆中的地址%p,a在栈中的地址%p",a,&a); void(^testBlock)(void) = ^(void){ NSLog(@"block内,a在堆中的地址%p,a在栈中的地址%p",a,&a); }; N

2021-09-07 15:59:03 455

原创 三、IOS CocoaPods详解之制作篇

学会使用别人的Pods依赖库以后,你一定对创建自己的依赖库跃跃欲试,今天就来揭开Pods依赖库创建过程的神秘面纱学会使用别人的pods依赖库以后,你一定对创建自己的依赖库跃跃欲试,今天就来揭开pods依赖库创建过程的神秘面纱。整个创建过程都以我实现的一个名称为wzmarqueeview跑马灯效果的view为例,步骤如下:一、创建自己的github仓库cocoapods都托管在github上(官方链接为:https://github.com/cocoapods),所有的pods依赖库也都依赖git

2021-09-07 15:56:12 309

原创 二、IOS CocoaPods详解之进阶篇

这篇文章主要介绍了IOS CocoaPods详解之进阶篇,需要的朋友可以参考下一、podfile.lock文件上文讲过,在开始使用cocoapods,执行完pod install之后,会生成一个podfile.lock文件。这个文件看起来跟我们关系不大,实际上绝对不应该忽略它。该文件用于保存已经安装的pods依赖库的版本,通过cocoapods安装了sbjson、afnetworking、reachability三个pods依赖库以后对应的podfile.lock文件内容为:? 1

2021-09-07 15:47:46 206

原创 一、IOS CocoaPods详细使用方法

自从有了CocoaPods以后,这些繁杂的工作就不再需要我们亲力亲为了,只需要我们做好少量的配置工作,CocoaPods会为我们做好一切一、什么是cocoapods1、为什么需要cocoapods在进行ios开发的时候,总免不了使用第三方的开源库,比如sbjson、afnetworking、reachability等等。使用这些库的时候通常需要:下载开源库的源代码并引入工程向工程中添加开源库使用到的framework解决开源库和开源库以及开源库和工程之间的依赖关系、检查重复添加的frame

2021-09-07 15:44:33 1710

原创 CocoaPods | iOS详细使用说明

一:介绍在iOS开发中,经常会使用到第三方库,CocoaPods可以用来方便的统一管理这些第三方库。 下面就和大家详细介绍一下CocoaPods的使用。二:升级Ruby环境$sudogemupdate--system复制代码三:使用淘宝的RubyGems镜像因为那堵墙阻挡了cocoapods.org,我们可以用淘宝的Ruby镜像来访问cocoapods。按照下面的顺序在终端中敲入依次敲入命令:$gemsources--removehttps://rubygems....

2021-09-07 12:06:01 198

原创 CocoaPods使用总结

写在前面:最近闲暇时间搭建了我的以后最新文章会第一时间发布在个人博客里(简书也会同步),欢迎关注互相支持使用CocoaPods也有很长一段时间了,最近几个月的时间里也主导了公司私有Pods的创建和使用。在此期间踩过了不少坑,在踩坑的过程中也收获了不少经验,更加熟练地掌握了CocoaPods的一些指令的使用。本篇作为这段时间收获的备忘。一、CocoaPods简介CocoaPods是专门为iOS工程提供第三方依赖库的管理工具,通过CocoaPods,我们可以更方便地管理每个第三方库的版本,而且

2021-09-07 10:50:59 1234

原创 iOS:iPhone XR、iPhoneXS、iPhone XS Max屏幕适配

2018年9月苹果发布了最新款iPhone,分别为iPhone XR、iPhone XS和iPhone XS Max。各大网站的测评和详细参数都已有很多了,所以本文不在列举这些。在屏幕适配方面与iPhone X的适配完全一致,大家想了解详细的可以查看这篇文章:iOS11和iPhone X屏幕适配iPhone刘海屏设备对比名称 屏幕分辨率 代码获取屏幕大小 使用几倍图 iPhone X 2436×1125 {375, 812} @3x iPhone XR

2021-09-06 16:12:59 2829

原创 iOS刘海机型UI适配(X、Xs、Xs Max、Xr)

分辨率iPhoneX 的分辨率:2436 x 1125px,812 x 375ptiPhoneXs 的分辨率: 2436 x 1125px,pt: 812 x 375ptiPhoneXs Max 的分辨率:2688 x 1242px,pt: 896 x 414ptiPhoneXr 的分辨率:1792 x 828px,pt: 896 x 414pt 1 2 3 4 5 6 7 8 9101112131415161718192021

2021-09-06 16:08:52 917

原创 KVC和KVO

1,KVCKVC也就是key-value-coding,即键值编码,通常是用来给某一个对象的属性进行赋值,例如有人这么一个类,其对外有两个属性,姓名和年龄,我们在创建了一个人p后可以通过点语法直接给p赋值。Person *p = [[Person alloc] init];p.name = @"张三";p.age = 20;我们也可以通过kvc给这个人p赋值,代码如下,因为setValue这里的值是id类型的,所以将整数包装成一个对象, [p setValue:@"张

2021-09-05 19:01:15 50

原创 ios UIButton内边距理解

button设置内边距:UIButton结构, ImageView+ Lable 设置内边距EdgeInsets 以后会 压缩 在宽高,和前端中设置div内边距一样backButton.imageEdgeInsets=UIEdgeInsetsMake(10, 0, 0, 0) // 上边内边距10 ,设置ImageView内边距backButton.titleEdgeInsets=UIEdgeInsetsMake(0, 0, 10, 0); // 设置label内边距...

2021-09-05 18:10:18 604

原创 imageNamed:与imageWithContentsOfFile:区别

imageName:加载图片成功后会在内存中缓存图片,这个方法用一个指定的名字在内存中查找并返回一个图片对象,如果缓存中没有找到图片对象,则从指定的地方加载图片,然后缓存对象,并返回这个对象imageWithContentsOfFile:仅加载图片不缓存.NSString *path = [[NSBundle mainBundle] pathForResource:@”icon” ofType:@”png”];myImage = [UIImage imageWithContentsO

2021-09-05 12:48:14 248

原创 类扩展Class Extension

1.什么是类扩展 延展类别又称为扩展(Extendsion),Extension是Category的一个特例 可以为某个类扩充一些私有的成员变量和方法 写在.m文件中 英文名是Class Extension 2.类扩展书写格式@interface 类名 ()@end对比分类, 就少了一个分类名称,因此也有人称它为”匿名分类”...

2021-09-05 10:32:32 222

原创 NSURLSession最全学习攻略笔记

最近一直在学习AFNetWorking这个框架,我们知道这个框架主要就是封装的的NSURLSession这个类及其相关的类,那么我们要想搞清楚AFNetworking这个框架,首先就要搞清楚NSURLSession这个类相关的类。首先学习一下在NSURLSession之前使用的一个类:NSURLConnection这个类。一.NSURLConnectionNSURLConnection这个类是在NSURLSession之前进行网络请求使用的类。这个类对象通过NSURLRequest对象来...

2021-09-01 11:11:33 508

原创 iOS 多线程:『RunLoop』详尽易懂的总结

1. RunLoop 简介1.1 什么是 RunLoop?可以理解为字面意思:Run 表示运行,Loop 表示循环。结合在一起就是运行的循环的意思。哈哈,我更愿意翻译为『跑圈』。直观理解就像是不停的跑圈。RunLoop 实际上是一个对象,这个对象在循环中用来处理程序运行过程中出现的各种事件(比如说触摸事件、UI刷新事件、定时器事件、Selector事件),从而保持程序的持续运行。 RunLoop 在没有事件处理的时候,会使线程进入睡眠模式,从而节省 CPU 资源,提高程序性能。1.2 R..

2021-08-31 16:52:13 400

原创 NSLog使用与说明

NSLog在Objective-C中,NSLog相当于C语言中的printf,常用于文字输出。1.NSLog定义NSLog定义在NSObjCRuntime.h中,如下所示:void NSLog(NSString *format, …);基本上,NSLog很像printf,同样会在console中输出显示结果。不同的是,传递进去的格式化字符是NSString的对象,而不是char *这种字符串指针。2.示例NSLog可以如下面的方法使用:NSLog (@"this is a t

2021-08-28 10:26:25 682

原创 数据结构知识点总结

一.算法的基本概念计算机解题的过程实际上是在实施某种算法,这种算法称为计算机算法。1.算法的基本特征:可行性,确定性,有穷性,拥有足够的情报。2.算法的基本要素:算法中对数据的运算和操作、算法的控制结构。3.算法设计的基本方法:列举法、归纳法、递推、递归、减半递推技术、回溯法。4.算法设计的要求:正确性、可读性、健壮性、效率与低存储量需求二.算法的复杂度1.算法的时间复杂度:指执行算法所需要的计算工作量2.算法的空间复杂度:执行这个算法所需要的内存空间三.数据结构的定义...

2021-07-11 22:38:00 2345

ios页面传值

好东西源描述可以把电子书的概述、源代码的说明

2015-01-30

如何部署android开发环境.doc

好,( 如何部署android开发环境.doc )

2014-04-21

空空如也

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

TA关注的人

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