
iOS
文章平均质量分 69
十拿酒稳
资深 Flutter, Flutter1.0 开始就混迹在Flutter 一线
展开
-
iOS多线程系列之四:NSOperation以及多线程技术比较
本文导读:NSOperation作为苹果推荐的重要并发技术之一,在开发当中也较为常用。本文将详细介绍NSOperation两个子类以及NSOperationQueue的使用。而笔者前面的文章[iOS多线程基础][1]已经详细介绍了简单的多线程NSThread和基于C语言的功能强大的GCD,有需要的同学可以去看一下。既然有三种多线程技术,那它们又有什么区别呢?使用场景怎样呢?笔者将在本文末尾为大家一一解答NSOperation是苹果推荐使用的并发技术,它提供了一些用GCD不是很好实现的功能。NSOper.原创 2020-05-25 10:13:45 · 230 阅读 · 0 评论 -
iOS多线程系列之三:GCD用法大全
##一、GCD简介GCD(Grand Central Dispatch) 伟大的中央调度系统,是苹果为多核并行运算提出的C语言并发技术框架。GCD会自动利用更多的CPU内核;会自动管理线程的生命周期(创建线程,调度任务,销毁线程等);程序员只需要告诉 GCD 想要如何执行什么任务,不需要编写任何线程管理代码一些专业术语dispatch :派遣/调度 queue:队列 用来存放任务的先进先出(FIFO)的容器sync:同步 只是在当前线程中执行任务,不具备开启新线程原创 2020-05-25 10:12:42 · 3405 阅读 · 0 评论 -
iOS多线程系列之二: NSThread
第二部分 NSThread先看一段API文档的描述An NSThread object controls a thread of execution. Use this class when you want to have an Objective-C method run in its own thread of execution. Threads are especially useful when you need to perform a lengthy task, but don’t wa原创 2020-05-25 10:11:36 · 419 阅读 · 0 评论 -
iOS多线程系列之一:多线程基础
#第一部分 多线程基础##一、线程的基本概念###1.多线程出现的背景在计算机编程中,一个基本的概念就是同时对多个任务加以控制。许多程序设计问题都要求程序能够停下手头的工作,改为处理其他一些问题,再返回主进程。可以通过多种途径达到这个目的。多线程是为了同步完成多项任务,不是为了提高运行效率,而是为了通过提高资源使用效率来提高系统总体的效率。线程是在同一时间需要完成多项任务的时候执行的。###2.进程进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度..原创 2020-05-25 10:10:37 · 270 阅读 · 0 评论 -
CHCR让iOS布局更婀娜
传统方式布局的弊端两个label同一行布局的时候,传统做法是将其中的一个label的宽度固定;另外一个label设置左右约束,让它跟随屏幕宽度拉伸压缩。如下的例子,我给商品数量Label加了一个60宽度约束。然后,我们先来看看这样做的问题极端情况,当商品数量很大时就显示不下了。商品名称很长时,商品数量的剩余宽度显得有些浪费空间(浪费的程度要看具体的商品数量最大与最小的差值)如何解决要解决这两个问题就需要让两个Label的宽度在一定程度上自动调整。那这个调整到底是怎样一个程度呢?首先,原创 2020-05-25 10:09:08 · 541 阅读 · 0 评论 -
图解iOS签名机制
本文假定你已经熟练掌握了iOS创建证书,发布app以及真机调试信息传输如何防止被窃听?怎么加密?对称加密加解密同一密钥,速度快,但无法解决密钥共享问题非对称加密用于加密的密钥(公钥)可以公开解决了密钥共享问题,加密速度慢。所以使用混合密码混合密码的问题接收者的公钥是公开的,任何人都可以向接受者发消息,会衍生以下问题消息被篡改伪装发送者发送者否认发送消息如何解决?数字签名注意:公钥和私钥是成对的,它们互相解密,加解密可以反过来;可以被公开的那个叫 公钥 。.原创 2020-05-25 10:07:47 · 280 阅读 · 0 评论 -
iOS拦截H5的input标签,实现图片处理
HTML的input标签在 type = "file" 时,即变为文件上传控件,浏览器会去监听这个标签,根据标签的另外一个 accept 字段的内容去调取各个平台的相关系统资源,如图片,视频,声音等,iOS也不例外。通过这个标签,移动端的H5页面就有直接获取系统资源的能力。但是有时候我们并不想让H5拿到原始的文件,或者是希望能够加工一下。比如:文件的压缩,文件格式转换,文件的编辑等。<form> <input type="file" accept="image原创 2020-05-25 10:01:09 · 3095 阅读 · 1 评论 -
iOS多语言漫谈(含自动化迁移旧项目)
目录概览各种资源的国际化1.文本2.图片3.nib4.其他资源特定模块/功能的国际化1.APP图标2.应用名与权限提示3.启动图(LaunchScreen)4.app调系统资源页面的国际化5.涉及服务端数据内容的国际化app内更改语言1.更改语言的方案2.未做国际化的旧项目迁移概览国际化的本质是为每种语言单独提供一份资源(文本,图片,音视频等)。本文术语本地化:指单独一种语言国际化:多种语言的合体在工程的Localizations中每新增一种语言,xcode会原创 2020-05-25 10:00:26 · 1258 阅读 · 0 评论