现在位置: 首页 > iOS
2020年02月18日 编程语言 ⁄ 共 1386字 评论关闭

iOS APP签名机制原理详解 苹果的需求 为了保证系统的安全性,所有iPhone上安装的应用必须是经过苹果授权的 安装包不需要上传到App Store也能被安装 (开发调试 企业灰度) 防止证书权限滥用:设备限制.指定APP.iCloud/PUSH/后台运行等附加权限控制 苹果的解决方案:双层代码签名+描述文件: 这里画一张图附上: 在iOS出来之前,主流的操作系统(MacOS/Windows)软件随便从哪里下载都能运行,系统安全存在隐患,盗版软件.病毒入侵.静默安装等等,苹果希望解决类似的问题,保证在iPhone iOS上

阅读全文
2020年02月18日 编程语言 ⁄ 共 3857字 评论关闭

iOS开发实现UIImageView的分类 本文实例为大家分享了iOS实现UIImageView的分类代码,供大家参考,具体内容如下 一.Objective-C版 .h文件 #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> #import <QuartzCore/QuartzCore.h> /** * 这个分类为UIImageView添加一些有用的方法 */ @interface UIImageView (WLKit) /** * 创建一

阅读全文
2020年02月18日 编程语言 ⁄ 共 2859字 评论关闭

ios基础教程之常见的数组使用方法 一.数组的简单介绍 1.数组是一个对象,是任意类型对象地址的集合,OC的数组可以存储不同类型的对象 2.OC的数组只能存储对象,不能存放 简单的数据类型(int, float, NSInteger-)除非通过一些手段把简单数据类型变成对象.在C语言中的数组可以保存任意类型的数据. 3.存储的内存是连续的 二.不可变数组 0.定义数组 //定义一个空数组 NSArray *array1 = [NSArray array] ; array1 = @[];//空数组 //通过指定对象创建数组 arra

阅读全文
2020年02月18日 编程语言 ⁄ 共 8193字 评论关闭

iOS优化UITableViewCell高度计算的一些事儿 我是前言 这篇文章是我和我们团队最近对 UITableViewCell 利用 AutoLayout 自动高度计算和 UITableView 滑动优化的一个总结. 我们也在维护一个开源的扩展,UITableView+FDTemplateLayoutCell,让高度计算这个事情变的前所未有的简单,也受到了很多星星的支持,github链接请戳我 (本地下载) 这篇总结你可以读到: UITableView高度计算和估算的机制 不同iOS系统在高度计算上的差异 iOS8 self-sizing cell

阅读全文
2020年02月18日 编程语言 ⁄ 共 2803字 评论关闭

详解iOS 用于解决循环引用的block timer 一.什么是回调函数? 回调函数,本质上也是个函数(搁置函数和方法的争议,就当这二者是一回事).由"声明"."实现"."调用"三部分组成. 在上面的例子中,我可以看出,函数amount(其实是Block),的声明和调用在A类中,而实现部分在B类中.也就是说,B类实现了amount函数,但并没有权限调用,最终还是 由A类触发调用.我们称这样的机制为"回调".意思是"虽然函数的实现写在B类中,但是真正的调用还是得

阅读全文
2020年02月18日 编程语言 ⁄ 共 2597字 评论关闭

iOS Moya实现OAuth请求的方法 0. 起源 开放授权(OAuth)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用. 而作为第三方软件,为用户提供 OAuth 登录是更好的选择,可以有效打消用户对于个人账户密码泄露的顾虑,同时也能有效避免用户反复登录,进而增加用户的舒适度,提高用户粘性. 1. 环境 项目使用 MVVM 架构,引入了 Rx 全家桶,网络请求框架使用了 Moya,以及处理 Oauth 相关的库 OAuth2. 2. OAu

阅读全文
2020年02月18日 编程语言 ⁄ 共 1659字 评论关闭

iOS实现短信验证码倒计时 在开发中,经常在需要用户注册的时候会需要实现验证码倒计时的功能,下面是解决这个问题的两种思路(使用UIButton控件) 一.利用NSTimer计时器 1.新建一个UIButton按钮,设置成属性,名为codeButton.(UIButton样式一定要为自定义,否则后面倒计时数秒时会出现闪烁现象) 2.定义一个NSTimer的属性,名为timer,同时定义一个用于计时的int变量time,设置初始值为60. //启动一个定时器 self.timer = [NSTimer scheduledTim

阅读全文
2020年02月18日 编程语言 ⁄ 共 6920字 评论关闭

iOS中使用对象的弱引用示例代码 简介 我们都知道使用 UIImage imageNamed 创建的 UIImage 对象会被持有(强引用),如果图片太大会占用内存,损耗 APP 的性能,影响用户体验,如果能改造对其的强引用变为弱引用就可以解决问题. 我们可能会有类似上面的场景,有些对象暂时保存起来,可能后面会用到,也有可能不会使用,但是又不想去管理它们的生命周期,如果它们能够自己被销毁就很省事,不需要去关心这些对象到底耗费了多少内存. 今天跟大家聊聊如何在 iOS 开发中保持对对象的弱引用而不是强引用,希望看完之后,能帮助到大

阅读全文
2020年02月18日 编程语言 ⁄ 共 2440字 评论关闭

如何在iOS上使用MVVM进行路由详解 前言 我已经在几个项目中使用MVVM了一段时间,我真的很喜欢它的简单性.特别是,如果你像许多人一样从MVC迁移,你只需要在你的架构中增加一层ViewModel.如果您发现太多层级造成的复杂,这确实使事情变得更容易. 这是一个良好的开端,但这种简单并不总是好的.在MVVM中,您将业务逻辑移出视图控制器(VC),然后意识到它仍然很胖.视图模型(VM)现在具有业务逻辑,但是展示数据(格式化)或路由如何?他们仍然被困在VC中,我们需要将它们移出. #示例流程 假设我们正在实现登陆页面,如下所示. ##路

阅读全文
2020年02月18日 编程语言 ⁄ 共 9778字 评论关闭

iOS中谓词(NSPredicate)的基本入门使用教程 前言 首先,我们需要知道何谓谓词,让我们看看官方的解释: The NSPredicate class is used to define logical conditions used to constrain a search either for a fetch or for in-memory filtering. NSPredicate类是用来定义逻辑条件约束的获取或内存中的过滤搜索. 可以使用谓词来表示逻辑条件,用于描述对象持久性存储在内存中的对象过滤.其实意思就是:我是一个过滤器,不

阅读全文