自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Morris'blog

My hobby , my love .

  • 博客(296)
  • 资源 (2)

原创 iOS关于屏幕适配

文章目录iOS关于屏幕适配基础大小屏横竖屏切换特殊机型注意iOS关于屏幕适配基础有两个重要的关乎适配的方法:- (void)layoutSubviews- (void)viewDidLayoutSubviews-layoutSubviews是UIView的方法。当view需要布局或重新布局的时候就会调用这个方法。例如,tableView刷新的时候,cell会重新布局,layoutSubviews就会执行;当view上添加或者移除一个子空间时,view会重新布局,这个方法也会被调用;还有当我们

2020-10-16 07:10:11 20

原创 svn客户端工具

选择合适的svn客户端工具之前用git的时候是命令行和工具一起用。命令行比较简单方便一些,工具呢就是更加具体一些,结合使用更好。用了git后再用svn会感觉很不爽,只用命令行还感觉可以,最好也安装个客户端工具,看起来更加直观些。SmartSVN收费,当然有破解版,但是安全不安全就不知道了。TortoiseSVN没有Mac版的。Sourcetree不支持svn,需要同时安装git-svn才能支持svn版本库,非要把svn库整成git的样子,感觉多此一举。Versions界面比较粗糙,Cornerst

2020-10-15 08:20:11 14

原创 使用AF(三)

HIHTTPRequestManager.h#import <Foundation/Foundation.h>#ifndef hiDispatch_queue_async_safe#define hiDispatch_queue_async_safe(queue, block)\ if (dispatch_queue_get_label(DISPATCH_CURRENT_QUEUE_LABEL) == dispatch_queue_get_label(queue)) {\

2020-10-14 11:04:11 21

原创 iOS 13获取keyWindow

iOS 13之前获取KeyWindow直接使用[UIApplication sharedApplication].keyWindow。iOS 13这个属性被废弃了。@property(nullable, nonatomic,readonly) UIWindow *keyWindow API_DEPRECATED("Should not be used for applications that support multiple scenes as it returns a key window acro

2020-10-12 10:52:49 49

原创 -[AppDelegate window]: unrecognized selector sent to instance

问题[UIApplication.sharedApplication.delegate.window …] 在Xcode11新建的项目中闪退。抛出的异常如下:*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[AppDelegate window]: unrecognized selector sent to instance 0x600003774260' terminating

2020-10-12 10:47:25 28

原创 AF Http request 代理形式回调

AF是以block的方式将请求结果返回,这样的处理思路我感觉很好,每个请求都单独处理自己的回调。AF的请求也可以使代理的形式进行回调。HIHTTPRequest以代理的形式回调的话需要创建一个请求类,然后将请求结果以代理的形式回调。HIHTTPRequest.h#import <Foundation/Foundation.h>#import "HIHttpRequestUtil.h"NS_ASSUME_NONNULL_BEGIN@protocol HIHTTPReques.

2020-09-25 07:02:16 27

原创 dispatch_queue_async_safe

摘抄自SDWebImage#ifndef dispatch_queue_async_safe#define dispatch_queue_async_safe(queue, block)\ if (dispatch_queue_get_label(DISPATCH_CURRENT_QUEUE_LABEL) == dispatch_queue_get_label(queue)) {\ block();\ } else {\ dispatch_async(qu

2020-09-24 15:21:14 14

原创 使用AFNetworking(二)

写代码没有什么具体的规范和方式,只是哪个更加合理罢了。老的项目HTTP请求使用的是AFNetworking找个优秀的第三方框架。由于使用不当导致各种代码耦合到一个类里,功能是满足了,但是可读性比较差,所以我对此进行了重构。HIHTTPSessionManager这个类是AFHTTPSessionManager的一个管理类,不涉及任何业务的代码。.h#import <Foundation/Foundation.h>NS_ASSUME_NONNULL_BEGIN/// This.

2020-09-23 14:46:32 35

原创 svn 删除本地和远程仓库上的文件

svn命令,删除本地和远程仓库里的文件。我们在本地直接删除掉文件夹后,svn status查看状态,发现本地删掉的文件前面出现了一个感叹号。感叹号说明本地文件和远程的有冲突。因为我们本地已经删除了该文件,但是远程没有删除。这时候如果我们svn update的话,直接删除的文件又会被Restore。例如有提供名为SB的文件夹,我们要删除本地和远程仓库上的这个文件夹以及里面所有文件svn delete SB使用svn delete SB命令后,会发现,删除的文件前面是一个D,表示易已删除。sv.

2020-09-23 09:48:31 87

原创 软件业务结构设计手稿

软件业务结构设计手稿SB Business architectureThe SB Business architecture structure diagramSB |_ SBUtilities | |_ MJExtension | |_ SBNetwork | |_ Speech Function | | |_ Speech Recognize | | |_ Voice Speak | |_ S.

2020-09-23 09:28:33 23

原创 Command PhaseScriptExecution failed with a nonzero exit code

errorXcode 项目编译报错 Command PhaseScriptExecution failed with a nonzero exit code。error logs:sent 206 bytes received 20 bytes 452.00 bytes/sec total size is 759692 speedup is 3361.47 /Users/xxx/Documents/work/SVN/xxx/xxx/Pods/Target Support Files/Pods-Enco

2020-09-22 08:47:12 239

原创 dispatch_async 与 dispatch_sync

从字面意思上看,sync 同步,async 异步。并行队列 + 异步 = 异步dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ });dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ });并行队列 + 同步 = 同步dispatch_sync(d

2020-09-17 10:50:53 14

原创 C# Math.Floor(), Math.Round,Math.Ceiling()

Math.Floor()取整数部分,即去小数:Math.Floor(0.0) //0Math.Floor(0.1) //0Math.Floor(0.2) //0Math.Floor(0.3) //0Math.Floor(0.4) //0Math.Floor(0.5) //0Math.Floor(0.6) //0Math.Floor(0.7) //0Math.Floor(0.8) //0Math.Floor(0.9) //0Math.Round()C#中Round()函数是四舍六入

2020-09-17 10:32:39 14

原创 Xcode 12 iOS 14

AVAudioInputNode闪退AVAudioInputNode CrashAVAudioInputNode *inputNode = [self.audioEngine inputNode];inputNode是个nil,打印却有值(lldb) po self.audioEngine.inputNode<AVAudioInputNode: 0x60000361b500>这个问题出现在Xcode beta 2 和 Xcode beta 3,系统问题,已提交faeed back,

2020-09-14 09:39:13 174

原创 Error Domain=NSCocoaErrorDomain Code=3840 “No value.“

描述客户端请求服务端接口,接口返回`Error Domain=NSCocoaErrorDomain Code=3840 “No value.”。原因客户端解析JSON出错如果是使用AF报3840的错误的话,使用不当会报3840的错误,原因是Json不能解析。服务端返回的JSON格式有问题返回空或者没任何返回,或者JSON格式问题等导致没法解析。GET请求中长度超限制有遇到过这种情况就是,接口用的是GET请求,请求中有一个参数,这个参数的数据量会随着业务变化,之前一直没发现问题,后

2020-09-08 13:41:27 45

原创 折叠tableView的实现

这篇日记是自己的笔记,给自己看的,太懒也没有整理。虽然简单还是复制粘贴了一下。这里是一个折叠的tableView的简单实现,主要思路是:多个Sections,每个Section下多个Rows,SectionHeader可以做为第一层,Sction对应的Rows作为折叠层。实现Rows的展开和收起。折叠tableView实现SectionHeaderView复用模型以及数据的处理Controller.h#import "WMSTableViewControllerBase.h"@cla.

2020-08-21 11:02:20 68

原创 仓库地图坐标设计手稿

描述这是一张 ”地图“以及其内容的手绘,以及一些简单的标记和设计。目的是设计一个仓库。里面是一张仓库地图的坐标系,这是对现实中的仓库进行的平面地图的抽象。Map相当于一块空地,racks是货架,paths是仓库中的路线,stops是仓库中一些路线点。racksContent整体构成一个地图的内容,即仓库中所有货架构边界构成的实体。整个Map相当于一个仓库,即一个大的房子。可以简单的理解为一个大的房子里面有一个桌子,桌子上放一些牛奶、水果等。桌子可以在房子里移动,只是现实中的房子我们不能随意放大缩小

2020-08-21 10:43:42 120

原创 Xcode No certificate for team ‘xxx‘ matching ‘iPhone Developer: xxx (xxx)‘

Xcode编译报错:No profile for team 'NB7MJZGXM3' matching 'E_Encompass_Dis' found: Xcode couldn't find any provisioning profiles matching 'NB7MJZGXM3/E_Encompass_Dis'. Install the profile (by dragging and dropping it onto Xcode's dock item) or select a differen

2020-08-19 13:36:36 296

原创 sql如何查看数据库表的关联关系?

不管是Navicat还是MySQL Workbench,要查询表的创建sql语句的话,在新建查询中执行以下sql:SHOW CREATE Table BinLots;执行之后,Create Table这一行结果就是表的创建sql,可以将结果拷贝出来,查看表的关联关系。通过查看表的创建sql,可以查看这个表的主键,唯一键,以及它和其他表的关联关系等信息。...

2020-08-13 09:34:11 174

原创 svn diff

svn怎么查看某文件的修改记录svn diff 文件名svn diff 文件名 会查看本地版本库中所作的修改。cd 到文件所属的目录下使用 svn diff 文件名svn diff xx.cs 或者直接 svn diff 文件路径/文件名svn diff xxx/xxx/xx.cs svn diff -r r133183svn diff -r 可以查看本次提交所作的修改svn diff -r r133234例:svn log -l 2查看近两次的提交记录----.

2020-08-06 07:31:00 42

原创 Error Domain=NSCocoaErrorDomain Code=3840 “JSON text did not start with array or object and option t

问题移动端调用服务端接口,返回错误如下:Error Domain=NSCocoaErrorDomain Code=3840 "JSON text did not start with array or object and option t原因1. 客户端解析json出错使用AFNetworking可能都遇到过类似的问题吧。2. 服务端返回的json有错误不管服务端是用java还是C#还是其他语言,如果返回的json有问题的话,导致客户端无法解析,就会报这个错误。我有一次写C#,返回Json

2020-07-30 09:41:44 259

原创 13. 罗马数字转整数

解题思路LVIII58L = 50, V= 5, III = 3.IVV = 10,I = 1,I < VIV = V - I = 9两个函数,一个将罗马字母映射对应的整数,一个计算罗马字母对应的整数。对罗马字母串从前往后先做“加法”,循环到下一个字母的时候判断当前字母和前一个字母的“大小”,如果是小,即IV这种类型的,因为之前已经加了一个I了,所以这里减去I,然后计算IV的和,即V-I。整个字母串累加得到最后结果。代码Swift执行用时:48 ms内存消耗:21.3 MBc

2020-07-24 09:45:09 33

原创 Visual Studio快捷键合集

Mac注释/取消注释注释: 先control+k,然后control+c取消注释: 先control+k,然后control+u全局查找cmd + F

2020-07-22 08:39:20 34

原创 9.回文数

文章目录解题思路代码解题思路如果一个数的绝对值,反转之后还等于这个数,则这个数是个回文数。代码执行用时:44 ms内存消耗:21 MBclass Solution { func intReverse(_ x:Int) -> Int { var x = x var n = 0 while x != 0 { n = n * 10 + x % 10 x = x/10 }

2020-07-22 08:15:37 41

原创 7.整数反转

文章目录解题思路代码Swift解题思路从个位数开始取值,累加得到最后反转的数。代码Swift执行用时:8 ms内存消耗:20.8 MBclass Solution { func reverse(_ x: Int) -> Int { var x = x var n = 0 while x != 0 { n = n * 10 + x % 10 x = x/10 }

2020-07-22 07:21:16 21

原创 error: unable to read property list from file: /Users/xxx/Documents/work/xxx/xxx/xxx/Resources/Info.

很简单,但也记录一下吧。项目编译报如下错误error: unable to read property list from file: /Users/xxx/Documents/work/xxx/xxx/xxx/Resources/Info.plist: The operation couldn’t be completed. (XCBUtil.PropertyListConversionError error 1.) (in target 'xxx' from project 'xxx')根据提示显

2020-07-21 14:04:02 246

原创 CS0012: 类型“System.Object”在未被引用的程序集中定义

编译器错误消息: CS0012: 类型“System.Object”在未被引用的程序集中定义。必须添加对程序集“netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51“的引用解决方案:在web.config文件system.web/compilation节点添加配置节点:...

2020-07-21 10:44:49 311

原创 Mac加显示器桌面排列设置

MacBook加了一个显示器,Mac上还安装了虚拟机,怎么设置让桌面排列更加合理。系统偏好设置->显示器个人感觉平铺的排列方式比较好用些。这时候显示器的屏幕上会出现一个窗口2. 虚拟机设置设置完屏幕排列后,如果安装了Parallels Desktop虚拟机的话,会发现多出来一个Parallels Desktop的桌面。这个桌面和显示器感觉何不融合,使得Mac使用起来不是很顺手。设置Windows桌面退出全屏模式就会好很多。这样设置后将Window系统桌面放在显示器上,Mac.

2020-07-17 13:59:49 124

原创 1. 两数之和

两数之和遍历比较最容易理解的,最耗时的,最简单粗暴的方式。执行用时:712 ms内存消耗:21 MB思路实现假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。func twoSum(_ nums:[Int], _ target:Int) -> [Int] { var targetArray:[Int] = [] for i in 0 ..< nums.count - 1 { for j in i+1 ..< nums.c

2020-07-16 14:58:05 66

原创 Cannot find ‘xxx‘ in scope

没有申明变量是let还是var导致编译报错``Cannot find ‘xxx’ in scope`例如:let solution = Solution.init()如果不加let或者var申明solution,就会报错。

2020-07-16 14:21:17 757

原创 Binary operator ‘==‘ cannot be applied to operands of type ‘Int‘ and ‘[Int]‘

等号两边数据类型不一致进行比较报错Binary operator '==' cannot be applied to operands of type 'Int' and '[Int]'这个提示也挺明确,二元运算符 == 两边不能使用 Int 和 [Int] 。写代码时候粗心,拿 Int类型的变量和 [int] 类型的变量来比,一个整形数来和一个数组比,当然不能比。...

2020-07-16 14:15:04 274

原创 objc_msgSend()

objc_msgSend()是iOS runtime中重要的函数之一,用来做消息分发的,我们知道OC的消息调用,最终都是转成runtime的消息,然后分发出去的。当OC的方法被转成runtime的消息时,是个什么样子的呢?其实就是一些像objc_msgSend()这样的函数,runtime函数再往底层就是汇编了。引入头文件 #import <objc/message.h>例子UIColor *color = [UIColor colorWithRed:220/225.0 gr

2020-07-16 13:04:22 43

原创 curl: (18) transfer closed with 14041568 bytes remaining to read

pod install的时候又一个库TwilioVoice怎么都更新不下来,并报如下错误:[!] Error installing TwilioVoice[!] /usr/bin/curl -f -L -o /var/folders/zl/014s9t8x7n90s8thffl59zx40000gn/T/d20200715-67823-uekelg/file.tbz https://media.twiliocdn.com/sdk/ios/voice/releases/2.1.1/twilio-voice

2020-07-15 15:32:54 890

原创 MacBook系统升级问题

MacBook不能升级系统怎么办?由于部分笔记本生产日期比较老了,在“关于本机”->“软件更新”中不提示用户升级。这种情况之前我也遇到过一次,在升级macOS Mojave系统时,我的MacBook Pro不提示升级,但是我还得用最新的系统,没办法只能想办法去升级系统。苹果升级 MacOS 系统有两种办法,1. “关于本机”->“软件更新”中下载最新系统。2. 在AppStore中搜索MacOS,找到最新的系统进行下载,下载完后安装。一般的不提示升级去AppStore中搜索下载下载系统.

2020-07-13 09:31:10 104

原创 iOS 蓝牙扫描枪

iOS 蓝牙扫描枪实现原理通过蓝牙连接手机和扫描枪,相当于给手机添加了一个外接键盘,当连接扫描枪后,手机内的键盘不会弹出来。可以通过textField的代理可以监听到扫描过程和扫描结果。扫描时候相当于外接键盘在输入,通过-(BOOL)textField:(UITextField)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString)string回调可以监听到。通过上面的回调我们会发现每

2020-07-13 08:41:12 74

原创 SQL DELETE 语句

DELETE 语句用于删除表中的记录。以菜鸟教程上的Websites表为例+----+--------------+---------------------------+-------+---------+| id | name | url | alexa | country |+----+--------------+---------------------------+-------+---------+| 1 | Google

2020-07-08 07:22:53 54

原创 SQL UPDATE 语句

UPDATE 语句用于更新表中已存在的记录。语法:UPDATE table_nameSET column1=value1,column2=value2,...WHERE some_column=some_value;WHERE 子句规定哪条记录或者哪些记录需要更新。如果您省略了 WHERE 子句,所有的记录都将被更新!以菜鸟教程上的Websites表为例:+----+--------------+---------------------------+-------+---------+|

2020-07-08 07:18:03 71

原创 SQL INSERT INTO 语句

INSERT INTO 语句用于向表中插入新记录。语法:指定列插入数据INSERT INTO table_name (colnum1, colnum2, column3)VLAUES (value1, value2, value3);不指定列插入数据INSERT INTO table_nameVALUES (value1,value2,value3,...);没有指定要插入数据的列名的形式需要列出插入行的每一列数据。还是以上节的Websites表为例:// 向表中插入一条完整

2020-07-08 07:10:36 78

原创 SQL WHERE语句

文章目录WHERE基础语法WHERE + AND/ORWHERE + ORDER BYORDER BYORDER BY ASC/DESCORDER BY 多列WHERE基础语法SELECT * FROM table_nameWHERE id = 1;SELECT title FROM table_nameWHERE id = 100;WHERE + AND/OR// 查询表中国家为中国或美国的数据集SELECT * FROM table_nameWHERE country='CN'O

2020-07-06 21:23:27 97

原创 SQL SELECT 语句

文章目录查整张表查某列数据查某行数据查某一个数据SELECT 语句用于从数据库中选取数据。结果被存储在一个结果表中,称为结果集。SELECT * FROM table_name;演示数据库表如下:+----+--------------+---------------------------+-------+---------+| id | name | url | alexa | country |+----+----------

2020-07-06 14:10:11 80

ReachabilityTest

Reachability的简单使用和源码解读https://blog.csdn.net/Morris_/article/details/84567571

2018-11-27

iOS开发中屏幕旋转

这个配合个人博客写的一个关于iOS开发中屏幕旋转的小demo,博客:https://blog.csdn.net/Morris_/article/details/84374233

2018-11-23

空空如也

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