iOS
雅之道法自然
study hard, study smart
展开
-
iOS推送系列之Push的工作原理
要理解Push的工作原理,我们必须要知道几个知识点。 设备是如何和APNs保持连接的。 APNs如何识别需要推送的设备。 APNs可以推送给设备Push消息,是因为设备(iPhone、iPad)和APNs有一个长连接的通道。 iOS的Push通道是一个独立的长连接通道,并且是唯一的一个通道,由iOS系统独立维护。也就是说每一个手机系统,每次开机后,手机后台就会发出...原创 2018-10-17 14:20:23 · 363 阅读 · 0 评论 -
知识点:可变数组的属性使用copy修饰的后果
问题: 视频What’s New in LLVM 中,从12:05的时间开始有个关于NSMutableArray可变数组属性的使用问题。 运行后报错图如下: 分析: self.photos的实际类型是 __NSMutable0,也就NSArray类型。没有addObject的方法。 进一步探讨: OC是门动态型语言,在编译阶段不会做类型检测。OC的内存管理是引用计数,在ARC环境下,属性...原创 2018-11-16 07:27:33 · 739 阅读 · 0 评论 -
多线程之NSThead的进阶使用和探讨
概述 NSThread类是一个继承NSObjct类的个轻量级的类。但需要管理线程的生命周期、同步、加锁等问题,这会导致一定的性能开销。 使用NSThread类可以让某个OC方法在特定的线程中被调用。当需要执行一个冗长的任务,并且不想让这个任务阻塞应用中的其他部分,尤其为了避免不阻塞app的主线程(因为主线程用于处理用户界面展示交互和事件相关的操作),这个时候非常适合使用多线程。线程也可以将一个庞...原创 2018-11-15 17:35:17 · 151 阅读 · 0 评论 -
知识点:id 和NSObject *对比,以及id <NSObject>介绍
在obj.h的类文件中(想要知道源码具体有内容,可以通oc runtime源码 版本 objc4-723查看源码内容。),可以看出id类型和NSObject类型的信息。如下: 类 id /// An opaque type(隐含类型) that represents an Objective-C class. typedef struct objc_class *Class; /// Repre...原创 2018-11-06 13:30:21 · 265 阅读 · 0 评论 -
iOS:The operation couldn’t be completed. (DVTCoreSimulatorAdditionsErrorDomain error 0.)
前言 查看磁盘空间的时候,发现系统磁盘消耗太多空间。而且显示是系统消耗的。然后就大举的删除了很多关了XCode和模拟器本地资源。然后运行XCode。发现模拟器一直调不出来,并且XCode提示这个错误,如下 The operation couldn’t be completed. (DVTCoreSimulatorAdditionsErrorDomain error 0.) 解决方案: 重新启...原创 2018-10-29 09:57:30 · 1381 阅读 · 0 评论 -
开发环境下PP文件的创建
开发环境下Provisioning Profile文件的创建。 当我们在做iOS开发的时候,总是添加很多证书,来保证安全性。Provisioning Profile我们又称PP文件。这个文件将证书、App Id和设备相关联。本章节就是教大家如何创建开发环境下的PP文件。 通过该Certificates,Identifiers&amp;amp;Profiles–&amp;gt; Provisioning Pr...原创 2018-10-23 17:21:17 · 1061 阅读 · 0 评论 -
iOS开发实用软件之NWPusher
一个App获取到一个Push内容。必须是服务器拿着对应token和需要的消息内容发给苹果服务器,然后由苹果服务器推送给用户。作为前端开发人员,为了学习Push,去搭建一个服务器,还是很耗时的。想了解iOS推送系列之Push的工作原理,可以查看这篇博客。 现在有个软件NWPusher可以模拟服务器发送Push。为我们研究Push提供了便利,我们一起来了解下。 一、软件的安装...原创 2018-10-23 13:57:09 · 372 阅读 · 0 评论 -
Swift中Class和Struct异同
Swift 中类和结构体有很多共同点。共同处在于: 定义属性用于存储值 定义方法用于提供功能 定义下标操作使得可以通过下标语法来访问实例所包含的值 定义构造器用于生成初始化值 通过扩展以增加默认实现的功能 实现协议以提供某种标准功能 与结构体相比,类还有如下的附加功能: 继承允许一个类继承另一个类的特征 类型转换允许在运行时检查和解释一个类实例的类型 析构器允许一个类实例释放任何其所被分配...原创 2018-10-17 17:39:32 · 636 阅读 · 0 评论 -
开发环境Push证书的创建图文流程
当写Push的时候,必须有相应的证书。而证书的创建也是个知识点。今天以图文的形式写个相关的证书创建的流程。 生成对应的APP ID 和证书 一.添加App ID 1.进入苹果开发中心的App Id 选择 Cerfificates,Identifiers&amp;amp;amp;amp;amp;amp;amp;Profiles --&amp;amp;amp;amp;amp;amp;gt; Identifiers --&amp;amp;amp;amp;amp;a原创 2018-10-22 14:11:18 · 144 阅读 · 0 评论 -
多线程之NSOperation的进阶使用和探讨
本文将会从这多个方面探讨NSOperation类和NSOperationQueue类的相关内容 一、简介 NSOperation的是iOS2.0推出的,通过NSThread实现的,但是效率的确一般。 从OS X10.6和iOS4推出GCD时,又重写了NSOperation和NSOperationQueue,NSOperation和NSOperationQueue分别对应GCD的任务和队列,所以...原创 2018-11-24 09:30:55 · 296 阅读 · 1 评论