![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS
文章平均质量分 90
面壁者LOGIC
Stay hungry,Stay foolish!
展开
-
Xcode11 xib中添加子控件位置
Xcode11 xib中添加子控件位置如下:原创 2019-09-23 11:15:48 · 7388 阅读 · 0 评论 -
iOS网络请求 — NSURLSession
NSURLSession简介在线计算器 NSNull,null,nil,Nil的区别原创 2018-05-07 17:49:32 · 482 阅读 · 0 评论 -
iOS网络请求简介
1.基本概念2.URL3.HTTP协议4.GET和POST请求5.iOS中发送HTTP请求的方案1.基本概念在网络编程中,有几个必须掌握的基本概念: 客户端(Client):移动应用(iOS、android等应用) 服务器(Server):为客户端提供服务、提供数据、提供资源的机器 请求(Request):客户端向服务器索取数据的一种行为 响应(...原创 2018-04-09 17:49:26 · 573 阅读 · 0 评论 -
iOS多线程-RunLoop
1.RunLoop简介2.Runloop与线程3.RunLoop实现原理4.RunLoop 对外的接口4.1.CFRunLoopRef/NSRunLoop(RunLoop对象)4.2.CFRunLoopModeRef(运行模式)4.3.CFRunLoopSourceRef4.4.CFRunLoopTimerRef4.5.CFRunLoopObserverRef5.Ru...原创 2018-04-08 17:24:36 · 359 阅读 · 0 评论 -
iOS多线程-NSOperation, NSOperationQueue
1.NSOperation、NSOperationQueue 简介2.操作(NSOperation)和队列(NSOperationQueue)2.1.操作NSOperation2.2.队列NSOperationQueue2.3. NSOperation、NSOperationQueue基本使用1.单独使用NSOperation1.使用子类 NSInvocationOperatio...原创 2018-03-30 15:48:53 · 384 阅读 · 0 评论 -
Swift学习之泛型
文章目录简介泛型函数泛型类型泛型扩展简介泛型可以使我们在程序代码中定义一些可变的部分,在运行的时候指定。使用泛型可以最大限度地重用代码,保护类型安全以及提高性能。在Swift集合中数组、Set和字典都是泛型集合。泛型函数func isEquals<T:Comparable>(a:T,b:T)->Bool{ return (a==b)}let a = 10...原创 2019-03-07 16:36:50 · 282 阅读 · 0 评论 -
使用HBuilder进行云端打iOS包步骤
前言之前就知道使用HBuilder可以把纯H5编写的代码打原生App包,今天被一个朋友问了下,于是就自动动手试试。具体步骤下载开发工具 : 去HBuilder官网下载开发工具:HBuilder X新建模板 : 打开HBuilder编辑器选择 菜单-&amp;amp;gt;文件-&amp;amp;gt;新建-&amp;amp;gt;App项目-&amp;amp;gt;新增项目名称-&amp;amp;gt;选择实例模原创 2018-11-23 14:30:33 · 3114 阅读 · 0 评论 -
iOS代码混淆安全加固
iOS代码混淆安全加固原创 2019-03-04 09:27:21 · 6316 阅读 · 1 评论 -
Swift学习之协议和代理
Swift学习之协议原创 2019-03-04 09:26:24 · 737 阅读 · 0 评论 -
OC中编译预处理(宏定义、“文件包含”处理及条件编译)
编译预处理1.宏定义2.文件包含3.条件编译4.编译预处理指令:编译预处理预处理,就是在编译之前做的事情,所以预处理也叫预编译。预处理是Objective-C提供的一个重要功能。本文主要介绍编译预处理的3种指令:宏定义、“文件包含”处理及条件编译。1.宏定义宏是一种批量处理的称谓。一般说来,宏是一种规则或模式,或称语法替换 ,用于说明某一特...原创 2018-05-05 10:37:20 · 1048 阅读 · 0 评论 -
iOS多线程-pthread、NSThread
pthreadpthread 简介pthread 使用pthread 相关调用函数NSThreadNSThread简介NSThread API线程创建线程操作线程启动线程睡眠线程取消线程退出线程状态主线程,当前线程,多线程判断或获取线程设置(名称,优先级)线程通知线程通讯线程安全正确取消线程举例pthreadpthre...原创 2018-02-11 16:36:39 · 497 阅读 · 0 评论 -
iOS多线程-GCD
简介任务和队列任务队列(Dispatch Queue)串行队列(Serial Dispatch Queue)并发队列(Concurrent Dispatch Queue)GCD 的使用步骤术语各种队列的执行效果线程间通信其他用法1.栅栏函数-dispatch_barrier_sync2 .延时执行-dispatch_after3.一次性代码-dispatc...原创 2018-03-20 14:06:15 · 506 阅读 · 0 评论 -
iOS引导页及指纹解锁
思维逻辑以下直接上代码:AppDelegate文件中引导页控制器:GuidePagesViewController指纹登录验证:LoginViewController思维逻辑 应用程序启动时有些会有引导页,目的是用户第一次登录时对应用程序的一些简单了解介绍,一般就是几张轮播图片,当引用程序第一次进入时会跳到引导页,以后不再显示,这时就需要将不是第一...原创 2018-02-01 11:07:53 · 414 阅读 · 0 评论 -
iOS 键盘遮挡输入框万能解决方案(多个输入框)
效果图如下:思路分析:代码:知识点:问题:效果图如下:思路分析:当我们有很多输入框时,有时候键盘弹出来会遮挡着输入框。我们需要获取输入框和键盘相对于最外层视图的位置来判断是否遮挡,如果遮挡了计算出遮挡的高度,然后设置最外层视图的frame,往上移动到大于等于遮挡遮住的高度即可。当键盘隐藏是在讲最外层视图的frame还原回来。代码:Main.st...原创 2018-04-28 18:59:00 · 2544 阅读 · 0 评论 -
iOS应用跳转(包括iPhone原有应用跳转和第三方应用跳转)
iOS应用间相互跳转原创 2018-05-23 14:04:41 · 10355 阅读 · 0 评论 -
OC单例模式详解
单例模式ARC环境下严谨的单例模式MRC环境下严谨的单例模式拓展:区分是MRC还是ARC的宏通用的单例模式单例模式有时候我们需要一个全局的对象,而且要保证全局有且仅有一份即可,这时候就需要用到单例设计模式,但是需要注意的是:在多线程的环境下也需要做好线程保护。其实系统已经有很多单例存在,例如UIApplication、NSNotification、NS...原创 2018-02-01 16:22:32 · 4246 阅读 · 0 评论 -
iOS关于使用xib创建cell的3种初始化方式
方案1:如果是在xib中已经将cell添加进去,则只需要给cell绑定标识(identfier),然后在cellForRowAtIndexPath:代理方法中通过dequeueReusableCellWithIdentifier:获取cell即可; 示例如下: 添加UITableView到Main.storyboard的wiew中,并设置代理数据源,然后添加cell到tableview中,并...原创 2018-05-08 18:45:11 · 10389 阅读 · 0 评论 -
iOS网络请求—NSURLConnection
NSURLConnection简介NSURLConnection的使用步骤NSURLConnection API1.NSURLConnection常见的发送请求方法有以下几种:2.属性和方法:3.NSURLConnectionDelegate4.NSURLConnectionDataDelegate5.NSURLConnectionDownloadDelegateNSM...原创 2018-04-10 09:25:57 · 564 阅读 · 0 评论 -
OC中JSON解析与XML解析
JSON简介JSON是一种轻量级的数据格式,一般用于数据交互; 服务器返回给客户端的数据,一般都是JSON格式或者XML格式(文件下载除外)。JSON的格式很像OC中的字典和数组,标准JSON格式key必须是双引号。JSON – OC 转换对照表: JSON OC 大括号{} NSDictionary 中括号[] NSArray 双引号...原创 2018-05-08 11:30:44 · 1088 阅读 · 0 评论 -
UIViewController的view的frame问题
文章目录edgesForExtendedLayout(扩展布局的边缘)translucent (tabBar和navigationBar的半透明属性)UIScrollView及其子控件有时会向下偏移问题hidesBottomBarWhenPushed的正确使用总结iOS7以前,UIViewController如果有navigationController和tabBarController,那么...原创 2019-08-16 10:42:57 · 2923 阅读 · 0 评论 -
iOS UIViewController和UIView的生命周期
文章目录UIViewController的生命周期UIView的生命周期UIViewController和UIView进入展示时整体生命周期调用顺序开发技巧总结UIViewController的生命周期UIViewController生命周期相关函数:// 类的初始化方法+ (void)initialize;//通过xib来初始化控制器- (instancetype)initWit...原创 2019-08-09 15:16:00 · 1908 阅读 · 0 评论 -
iOS Masonry
文章目录Masonry简介Masonry主要的类和常用apiMasonry基本使用Masonry结构与源码简单解析Masonry使用技巧与注意事项Masonry简介Masonry利用简化,链式和富有表现力的语法,利用AutoLayout NSLayoutConstraints的强大功能。 支持iOS和OSX自动布局。我们一般很少直接用苹果的原生API进行布局和适配,市场上使用很多的就是OC使...原创 2019-07-26 17:22:44 · 543 阅读 · 0 评论 -
iOS AutoLayout
iOS AutoLayoutAutolayout是一种全新的布局技术,专门用来布局UI界面的,用来取代Frame布局在遇见屏幕尺寸多重多样的问题。Autolayout自iOS 6开始引入,但是由于Xcode 4的不给力,当时并没有得到大规模推广。在iOS 7(Xcode5)开始,Autolayout的开发效率得到很大的提升,苹果官方也推荐开发者尽量使用Autolayout来布局UI界面,减少纯...原创 2019-07-22 18:52:30 · 398 阅读 · 0 评论 -
最新一期开发涉及到的一些知识点,现在很忙以后消化!
iOS - 利用 (visibleViewController和topViewController ) 获取当前显示的页面iOS右滑返回手势深度全解和最佳实施方案iOS学习之UICollectionViewiOS之流布局UICollectionView全系列教程UICollectionView详解:(Header/Footer)源码笔记—MBProgressHUDMJRefresh框架...原创 2019-07-11 14:22:51 · 280 阅读 · 0 评论 -
Xcode添加快捷代码块
Xcode添加快捷代码块,请参考下面文章Xcode添加代码块在Xcode中自定义代码块——快速代码xcode 10如何添加快捷代码块转载 2019-06-19 17:05:26 · 2402 阅读 · 0 评论 -
Mac上传本地代码到Github教程
详细过程可参考: mac 上传本地代码到 Github 教程MAC 下找不到id_rsa.pub和id_rsa文件因为这俩文件在名为 .ssh 的隐藏文件夹里,打开终端,输入命令显示影藏文件,命令运行之后需要重新加载Finder:快捷键option+command+esc,选中Finder,重新启动即可.defaults write com.apple.finder AppleS...原创 2019-05-15 17:43:13 · 747 阅读 · 0 评论 -
iOS根据字符串长度设置UILabel的宽高
在开发中有时候返回的字符串长度是不固定的,这时候要想全部展现出来,就需要根据返回的文字和文字大小去计算宽高.在NSString (NSExtendedStringDrawing)分类中提供了相关api:/* 参数1: 自适应尺寸,提供一个宽度,去自适应高度 参数2:自适应设置 (以行为矩形区域自适应,以字体字形自适应) 参数3:文字属性,通常这里面需要知道是字体大小 参数4:绘制文...原创 2019-05-20 19:40:03 · 1078 阅读 · 0 评论 -
iOS可以改变滚动方向的滚动轮播图
文章目录简介原理相关demo示例简介广告无限轮播图都很常见,创建三个UIImageView添加到就能达到无限轮播的效果(其实两张也可以,但是十分麻烦),本示例中有三种模式可以设定往左滚动,往右滚动,或者根据手动滑屏的方向随意改变其滚动的方向.并且不仅考虑到三张以上的图片轮播,也考虑了三张一下或者没有图片的情况.原理默认设置UIScrollView偏移量让中间的UIImageView展...原创 2019-05-15 16:38:09 · 721 阅读 · 0 评论 -
排序算法(Swift)
function KaTeX parse error: Expected '}', got '\bno' at position 57: …f (cls.search(/\̲b̲n̲o̲\-highlight\b/)…{cls}"`;} catch (e) {/* handle exception */}for (var i = 0 / 2; i < classes.length...原创 2019-04-18 15:46:25 · 385 阅读 · 0 评论 -
OC与Swift混编项目中OC类中不能访问Swift类
最近在一个混编项目中,一个OC类需要去访问一个Swift类,访问其他Swift类都可以,但就没法访问报以下错误:点进去看发现该类型是个结构体,如下所示:解决方案:因为Swift的结构体除了不能继承外可以有自己的成员变量和方法,就是一个不能继承的类.所以我将struct改成了class,结果还是不行.后来就像因为Swift中的类可以没有父类,而OC的中有基类的,所有类都最终继承至NSObj...原创 2019-05-07 11:35:12 · 1883 阅读 · 0 评论 -
iOS应用程序生命周期(前后台切换,应用的各种状态)详解
iOS应用程序生命周期(前后台切换,应用的各种状态)详解转载 2019-05-08 15:27:33 · 258 阅读 · 0 评论 -
iOS之数据持久化进阶(plist、SQLite、CoreData)
持久化方式就是数据存储方式.iOS支持本地存储和云端存储,而本地存储主要涉及如下三种机制:属性列表:集合对象可以读写到属性列表中;SQLite数据库:SQLite是一个开源嵌入式关系型数据库;CoreData:是一种对象关系映射技术(ORM),本质上也是通过SQLite存储.属性列表文件一般用于存储少量数据,Foundation框架中的集合对象都有对应的方法读写属性列表文件了;SQLit...原创 2019-03-22 14:05:48 · 665 阅读 · 0 评论 -
iOS开发之热更新热修复
OC 消息转发机制,当调用一个 NSObject 对象不存在的方法时,并不会马上抛出异常,而是会经过多层转发,层层调用对象的-resolveInstanceMethod:, -forwardingTargetForSelector:, -methodSignatureForSelector:, -forwardInvocation: 等方法,其中最后-forwardInvocation: 是会有...转载 2019-03-18 16:40:57 · 2031 阅读 · 0 评论 -
代码管理工具Cornerstone 使用详解
iOS开发中经常会使用SVN来管理代码,而Cornerstone就是一款很好的SVN代码管理工具,具体使用请参考。Cornerstone 使用详解转载 2019-03-18 14:37:29 · 778 阅读 · 0 评论 -
iOS开发之性能优化工具Instruments的使用总结
Xcode 自带的动态检测调试工具Instruments,一个官方提供的强大的性能调试工具集。能够检查应用的CPU、GPU、内存分配、内存泄露、僵尸对象、图形性能、CoreData、电量损耗、以及网络状态等。具体使用可参考iOS 使用Instruments的工具小结iOS Instruments工具使用...转载 2019-03-18 14:28:16 · 805 阅读 · 0 评论 -
Swift学习之内存管理
Swift学习之内存管理原创 2019-03-08 17:34:05 · 518 阅读 · 0 评论 -
iOS适配iPhoneX/XR/XS/XS MAX
适配只看三个参数:1.渲染像素–屏幕截图的图片尺寸,单位px2.逻辑像素–程序员开发所用尺寸,单位pt3.倍率–渲染像素/逻辑像素,得到倍数关系。常见倍率@2x,@3xSafe Area(安全区):iOS 9以后加入了Safe Area概念,页面内容不能超出安全区(Safe Area),底部区域用于手势进入主屏或切换应用,如果将触发交互行为的按钮放在屏幕的底部,会破坏App操作体验。...原创 2019-03-06 10:15:07 · 1335 阅读 · 0 评论 -
iOS底层原理之架构设计
iOS底层原理之架构设计原创 2018-10-29 16:30:08 · 2755 阅读 · 0 评论 -
iOS底层原理之性能优化
#iOS底层原理之性能优化原创 2018-10-29 16:29:11 · 2225 阅读 · 0 评论 -
iOS底层原理之内存管理
#iOS底层原理之内存管理原创 2018-10-29 16:28:20 · 893 阅读 · 0 评论