- 博客(223)
- 收藏
- 关注
原创 iOS-在子类中调用父类私有方法
三方中在.h中声明的方法比较好重写,直接在子类里重写方法,如果需要重调父类原有方法可以用super直接调用。而一些私有方法并没有在.h中声明,这时我们也可以直接重写父类方法,但是相对于想要重调父类方法,就不能用super直接调用来实现。这里super只是一个编译器修饰符,是一个指向父类标志,并不是对象的父类实例。所以你再用super调用父类的私有方法是没有作用的。这时我们有几种选择可以帮我们实现父类私有方法的调用。首先可以用Method Swizzling(方法交换)来帮我们实现,但是我并不喜欢使用这个方
2021-12-17 16:37:36 1992
原创 React Native 中Component和PureComponent总结
https://www.jianshu.com/p/fadf9d4449f7
2021-12-11 13:21:05 258
原创 iOS单元测试
单测介绍、基本逻辑测试iOS单元测试从入门到应用包括:什么是单元测试为什么要做单元测试如何进行单元测试测试准备公共方法的测试私有方法的测试性能测试运用OCMock进行测试异步测试UITest脚本录制引入单元测试遇到的问题这篇主要看点是利用通知进行异步测试...
2021-11-01 16:32:07 1459
原创 怎样让自定义OC对象支持copy和mutableCopy
自定义对象实现NSCopying和NSMutableCopying协议https://www.jianshu.com/p/f84803356cbb理解NSCopying和NSMutableCopying协议https://zhoon.github.io/ios/2014/09/14/NSCopying.html例如自定义Person类支持copy以及mutableCopyPerson.h//// Person.h// ObjectCopyDemo//// Created by li
2021-09-28 21:06:59 259
原创 iOS button的imageEdgeInsets和titleEdgeInsets原理
https://www.jianshu.com/p/034e61768c1f
2021-09-14 15:35:32 196
原创 Swift之数据存储(.plist,NSUserDefaults,NSKeyedArchiver)
https://www.jianshu.com/p/ea749f7b0546
2021-09-08 15:41:10 299
原创 TableView与CollectionView注册时的区别
TableView与CollectionView注册时的区别https://blog.csdn.net/Evelynzn/article/details/80222269为什么Tableviewcell创建时可以不判空:
2021-06-25 20:29:46 84
原创 Git 中 git checkout -- <file>的用法
文章写的很好,本人也都 一一 测试https://www.jianshu.com/p/285302d1eb73
2021-06-20 14:08:59 487
原创 Xcode调试总结
概述总体来看,关于Xcode调试的方法包括有以下几个部分:日志输出&&LLDB断点性能日志输出和LLDB关于日志输出,最先可能想到的是在代码编辑区的NSLog(),虽然在打印的时候很清晰,但是缺点就是在我们需要在想要打印的位置添加NSLog代码并重新运行项目,这样会比较耽误时间,影响开发效率,而我们在调试过程中用的比较多的是打断点,然后 p 或者 po 一下。这个 p 和 po 就是LLDB中的打印(print)命令LLDB命令行像下图中,在29行中打了断点,在控制台的右
2021-06-16 12:06:03 884
原创 IOS Xcode常用快捷键介绍
Xcode 页面介绍Xcode页面主要分为以下五个部分:资源管理器快捷键介绍:上图从左到右分别为:项目导航器:在工程中添加、删除、分组以及管理文件、查看文件、或者在编辑取区编辑其内容git管理工具符号导航器:集成所有在工作区中定义的符号,从根本上说符号就是编辑器所能识别的东西,eg:OC类、结构体、枚举类型、全局变量等搜索导航器:可以对工作区中的所有文件进行搜索问题导航器:可查看在打开、分析以及构建项目过程中发现诊断、警告以及错误信息测试导航器:创建、管理、运行以及检查单元测试资源
2021-06-15 17:32:41 336
原创 IOS开发-设置导航栏和状态栏的状态和显示指定高度的控制器
改变导航栏背景颜色 (1)self.navigationController.navigationBar.barTintColor = [UIColor redColor];(2) 默认为白色 self.navigationController.navigationBar.barStyle = UIBarStyleDefault;改变导航栏字体颜色[self.navigationController.navigationBar setTitleTextAttributes:@{NSForegr
2021-06-11 15:37:34 518 1
原创 IOS开发-Charles的抓包的设置以及页面功能介绍
设置Charles抓包(包括HTTP,HTTPS请求的设置)https://blog.csdn.net/y277an/article/details/103573163Charles页面功能介绍:https://www.cnblogs.com/xiaocainiao920/p/8073073.html
2021-06-10 18:13:27 199 2
原创 IOS 开发-个人项目添加真机调试
如果不进行手动添加,用真机运行项目调试将会报:Signing for requires a development team. Select a development team in the Signing and Cap Editor错误。直接在Project的target上的【Signing & Capabilities】的 Team选项中 点击【Add Account…】,如图所示:在弹出的对话框里填上自己的Apple ID,即可。接下来有可能让输入邮箱的密码,只要正确的输入即可
2021-06-10 15:55:17 507
原创 IOS开发之沙盒机制和文件操作
引用于https://www.jianshu.com/p/d1715cad3d00沙盒也叫沙箱,英文standbox,其原理是通过重定向技术,把程序生成和修改的文件定向到自身文件夹中。每个iOS 应用程序在安装时,都会创建属于自己的沙盒文件,应用程序不能直接访问其他应用程序的沙盒文件,当应用程序需要向外部请求或接收数据时,都需要经过权限认证,否则,无法获取到数据。即在沙盒机制下,每个程序之间的文件夹不能互相访问。iOS系统为了保证系统安全,采用了这种机制。应用程序中所有的非代码文件都保存在沙盒中,比如图
2021-06-07 15:48:15 1145
原创 SDWebImage的基本使用
SDWebImage的作用该库提供了具有缓存支持的异步图像下载器。因此可以使用SDWebImage来实现UIImageView加载来自互联网的远程图片。基本使用下载完成之后首先,导入头文件:#import “UIImageView+WebCache.h”其次,利用其自带的方法对图片进行缓存加载。SDWebImage下载图片常用的方法:1. sd_setImageWithURL//图片缓存的基本方法[self.image1 sd_setImageWithURL:imagePath1];
2021-05-28 20:51:51 572
原创 IOS开发-WKWebView的使用、KVO监听例子
简单使用1.加载网页与UIWebview一样,仅需三步:记住导入(#import <WebKit/WebKit.h>)// 加载网页- (void)loadWbView { // 1.创建webView,并设置大小,“80”为状态栏高度 self.webVIew = [[WKWebView alloc] initWithFrame:CGRectMake(0, 80, self.view.frame.size.width, self.view.frame.size.heig
2021-05-28 14:51:44 2697 1
原创 IOS开发-MJExtension常用的数据类型和模型转化
1.字典转模型核心方法: mj_objectWithKeyValues:UserModel模型类,UserModel.h代码为://// UserModel.h// NSURLSessionDemo//// Created by liuwenbo on 2021/5/27.//#import <Foundation/Foundation.h>NS_ASSUME_NONNULL_BEGINtypedef enum { SexMale, SexFem
2021-05-27 18:41:40 2082
原创 git rebase
https://www.jianshu.com/p/6960811ac89chttps://blog.csdn.net/nrsc272420199/article/details/85555911
2021-05-26 14:40:03 82
原创 git分支合并时的冲突解决
(本文是在同一台电脑上的不同分支操作)用两个子分支模拟分支合入时产生的冲突。分支wen中修改文件test.txt,在文件的最后一行新增内容NSLog(@“主分支修改”);然后提交到远程仓库并merge到master分支中,此时冲突问题没有出现在分支liu中同样修改文件test.txt,在文件的最后一行新增内容NSLog(@“liu分支修改”);然后提交到远程仓库,在merge到master的过程中出现了冲突,如图所示:如上图所示,上面操作git无法执行"快速合并",只能试图把各自的修改合并
2021-05-25 16:22:15 1076
原创 git将自己开发的分支合并到指定分支
前提假如我们现在在dev分支上,刚开发完项目,执行了下列命令git add .git commit -m ‘dev’git push -u origin liu代码合入然后我们要把liu分支的代码合并到master分支上 该如何?首先切换到master分支上:git checkout master如果是多人开发的话 需要把远程master上的代码pull下来:git pull origin master如果是自己一个开发就没有必要了,为了保险期间还是pull,然后我们把liu分支的代码
2021-05-25 15:19:01 3296 1
原创 git工作区与暂存区的文件修改、还原
查看暂存区文件git ls-files 命令是用来查看暂存区中文件信息.参数说明:–cached(-c)显示暂存区中的文件,git ls-files命令默认的参数–deleted(-d)显示删除的文件–modified(-m) 显示修改过的文件–other(-o)显示没有被git跟踪的文件–stage(-s) 显示mode以及文件对应的Blob对象,进而我们可以获取暂存区中对应文件里面的内容。实例:1.查看暂存区中有哪些文件?git ls-files2.查看暂存区中test.tx
2021-05-25 14:13:53 5562
原创 git回退已经push到远程仓库的代码
第一步:cd 到指定目录下,切换到需要回退的分支,在终端中输入:git checkout [分支名]第二步:执行命令 :git log 查看日志,提交记录第三步:回退。执行命令:git reset --hard commit号 ,例如回退到commit:e4dd73…执行:git reset --hard e4dd73…第四步:回退成功后,在本地命令行窗口执行git log 已经看不到 wen.txt 的提交日志了,但目前只是将本地仓库中的代码回退,git远程仓库中wen.txt 的提交代码仍
2021-05-25 10:55:53 2817 1
原创 git将本地文件上传到gitlab
本地创建了一个 xcode 工程项目,现通过 命令行 将该项目上传到 github 或者 gitlab 远程仓库,具体操作流程如下:**第一步:**建立本地 git 仓库cd 到项目工程目录下,执行 git init 命令,这个目录就变成了git 可以管理的仓库**第二步:**将本地项目工作区的所有文件添加到暂存区, 执行命令 git add .小数点 “.” ,意为添加文件夹下的所有文件;也可以将 “.” 换成具体的文件名,如果想添加项目中的指定文件,那就把 “.” 改为指定文件名即可。
2021-05-25 10:34:16 751
原创 IOS开发-触摸事件、手势识别、手势冲突
概览iPhone的成功很大一部分得益于它多点触摸的强大功能,乔布斯让人们认识到手机其实是可以不用按键和手写笔直接操作的,这不愧为一项伟大的设计。今天我们就针对iOS的触摸事件(手势操作)、运动事件、远程控制事件等展开学习:OS事件简介触摸事件手势识别手势冲突iOS事件在iOS中事件分为三类:触摸事件:通过触摸、手势进行触发(例如手指点击、缩放)运动事件:通过加速器进行触发(例如手机晃动)远程控制事件:通过其他远程设备触发(例如耳机控制按钮)下图是苹果官方对于这三种事件的形象描述
2021-05-18 21:35:46 882
原创 IOS开发中CALayer的详细说明
简介在iOS的应用程序中经常可以看到绚丽的动画效果,实现这些动画的过程并不复杂,本文中就从一下几个方面了解IOS动画的细节,分别是如何通过核心动画创建基础动画、关键帧动画、动画组、转场动画,以及如何通过UIView的封装方法对这些动画操作进行简化等。本文的主要内容包括有:CAlayer1. CALayer的简介2. CALayer的常用属性3. CALayer绘图的两种方式Core Animation(核心动画)1. 基础动画(平移、缩放、旋转)2. 关键帧动画3. 组动画4. 转场动
2021-05-18 18:08:56 765 1
原创 IOS开发-解决手势冲突问题
解决手势冲突问题:第一种:通过利用代理的方法https://blog.csdn.net/weixin_34217711/article/details/91382717第二种:通过设置手势的优先级https://blog.csdn.net/churk123/article/details/54315900
2021-05-17 10:56:14 330
原创 IOS开发之——Modal原理和常规使用
IOS开发之——Modal原理和常规使用https://blog.csdn.net/Calvin_zhou/article/details/110931665弹出页面设置:UIModalPresentationStyle和UIModalTransitionStylehttps://blog.csdn.net/odyyy/article/details/89334999
2021-05-16 10:07:34 100
原创 IOS开发-大文件下载、断点续传、后台下载
iOS 大文件下载、断点续传、后台下载:https://blog.csdn.net/hero_wqb/article/details/80407478NSURLSession实现断点续传:https://www.bbsmax.com/A/lk5a0Bw2J1/断点续传(NSNSURLConnection):过期https://blog.csdn.net/stree7cleaner/article/details/51440774https://www.bilibili.com/video/BV1
2021-04-27 20:40:54 167
原创 IOS开发-保存文件时内存暴涨原因及解决方案
原因:把每次下载的二进制数据,累加到内存中https://www.bilibili.com/video/BV14J411T7cQ?p=97解决方案:每次接收的二进制文件数据后,直接保存到文件中https://www.bilibili.com/video/BV14J411T7cQ?p=98
2021-04-27 10:13:32 464
原创 IOS-多文件上传
多文件上传(不用AFNetworking)https://blog.csdn.net/a359798678/article/details/101953844iOS-AFNetworking参数和多文件同时上传【多文件上传】https://www.cnblogs.com/wangkejia/p/7587314.html
2021-04-25 14:19:22 269
原创 IOS开发-XML解析
iOS开发网络篇 一一 XML解析https://blog.csdn.net/m0_37989980/article/details/78825452视频:https://www.bilibili.com/video/BV14J411T7cQ?p=49
2021-04-23 15:46:10 105
原创 IOS-KVC模式下含有模型未定义属性同名字段的字典问题解决
https://www.itengying.com/articles/6c720285d54124
2021-04-17 16:43:18 121
原创 IOS-JSON数据的序列化与反序列化、JSON数据转模型
JSON数据的序列化与反序列化https://blog.csdn.net/mazaiting/article/details/79709266JSON数据转模型https://www.bilibili.com/video/BV14J411T7cQ?p=29
2021-04-17 15:00:26 121
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人