Share Extension 简介前两篇文章介绍了Application Extension运行原理、Today Extension,本篇来介绍一下 Share Extension 创建和使用。分享扩展给用提供一个方便的途径来分享内容,例如在某个带有分享按钮的应用中,用户可以选择一个分享扩展,来把要想分享的内容或者评论发布到自己的社交账号。
可以在iOS、macOS上创建分享扩展,在创建之前要注意:
确保用户在使用你的分享扩展时,方便、快捷
确保用户能够预览、编辑、配置要
...
2017.10.22
简介在通知中心的Today的视图中显示的 extension 叫做 widget ,widget 可以方便用户快速的得到想要的信息,不用再通过复杂的步骤打开app才能找到自己想要的东西,只要下拉就可方便的看到,iOS设备中即使在锁屏的状态下也能查看。例如,用户下拉滑到Today查看现在的股票信息、天气、日程等等,如今越来越多的用户会频繁的通过Today来快速的得到信息。
Today Widget在创建widget的时候应该注意:1、确保每次查看时都要更新,显示最新的内容2、交
...
2017.10.12
前言本篇文章是对 iOS Application Extension 的简介。介绍的内容包括:对 Application Extension 的种类、运行原理、声明周期、之间的通信等。
Application ExtensionApplication Extension 是从 iOS 8 开始引入的一个新特性。Application Extension扩展可以在原有的应用基础之上,延伸应用的功能,扩大应用的显示内容。可以让用户与其他应用或者系统来进行交互。
我们可以创建扩展来
...
2017.09.11
简介前面的文章了解了OC对象(Objective-C对象解析),本文将简单介绍Objective-C消息传递的消息传递机制。Objective-C 是 C的超集,C语言的函数调用方式,使用“静态绑定”(static binding),在编译期就能决定运行时所应调用的函数。而“动态绑定”(dynamic binding),所要调用的函数直到运行期才能确定,带调用的函数地址无法硬编码在指令之中,而是要在运行期读取出来。Objective-C中如果向某对象传递消息,就会使用动态绑定
...
2017.08.27
简介OC是C语言的超集,是扩充C的面向对象编程语言。OC的语法基本上是照搬C语言的,对象所占内存总是分配在“堆空间”中,而绝不会分配在“栈”上。每个OC对象实例都是指向某块内存数据的指针,所以声明变量时,类型后面要跟一个 * 字符,有时会遇到定义里不含 * 的变量它们可能会使用栈空间,这些变量保存的不是OC对象,比如CGRect是c的结构体。
例如: NSString * pointerVar = @“aa”;pointerVar存放内存地址的变量,NSString
...
2017.07.21
当我们无法列出传递函数的所有实参的类型和数目时,可以用省略号指定参数表
1- (void)parameterList:(NSString *)a,...;
函数参数是以数据结构:栈的形式存取,从右至左入栈。
1void func(int x, float y, char z);
调用函数的时候,实参 char z 先进栈,然后是 float y,最后是 int x,因此在内存中变量的存放次序是 x->y->z,因此,从理论上说,我们只要探测到任意一个变量的地址,
...
2017.04.27
苹果从iOS6开始,提供了一个活动列表视图,为分享和操作数据提供了一个统一的服务接口,通过UIActivityViewController来控制它的呈现和关闭,凡是继承UIActivity抽象类的子类对象都可以放在列表中呈现出来。如下图所示:
通过下面代码,就可以调出视图:
12345678910111213141516- (IBAction)activity:(id)sender { // 设置分享内容 NSString *text = @"
...
2017.04.22
简介系统框架中频繁使用到枚举类型,在以一系列常量来表示状态码或可组合的选项时,最好使用枚举为其命名。C++11标准扩充了枚举的特性,最新版系统框架使用了“强类型”(strong type)的枚举,OC也能得益于C++11标准。枚举只是一种常量命名方式。编译器会为枚举分配一个独有的编号,从0开始,每个枚举递增1.实现枚举所用的数据类型取决于编译器,不过其二进制位的个数必须能完全表示下枚举编号才行。C++11标准修订了枚举的某些特性。其中一项改动是:可以指明用何种底层数据类型来保
...
2017.04.06
一、多用常量,少用#define预处理指令const关键字,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性。便于进行类型检查,使编译器对处理内容有更多了解,消除了一些隐患。const 推出的初始目的,正是为了取代#define预处理指令,消除它的缺点,同时继承它的优点。使用#define预处理指令,只是在预处理器里进行文本替换,这样定义出来的常量不含类型信息,编译器只是会在编译前据此执行查找和替换,即时有人重新定义此常量值,编译器也不会警告
...
2017.03.13
前言本篇文章将全面介绍计算机网络技术基础知识,对计算机网络运作流程进行简单介绍。阅读本篇文章你将会对计算机网络的发展、组成、性能指、计算机网络体系结构,等,这些计算机网络基础知识,有大概的了解。
概述
从上世纪90年代以后,以因特网为代表的计算机网络得到了飞速的发展,网络改变了我的工作生活的各个方面,加速了全球信息革命的进程。
1994年4月20日我国用64kb/s专线正式连入互联网,从此我国被国际正式承认为接入因特网的国家。想象一下短短二十多年,互联网在我国迅速
...
2017.01.21