
iOS-移动开发
文章平均质量分 68
踩着七色的晕菜
这个作者很懒,什么都没留下…
展开
-
iOS --- 理解Runtime机制及其使用场景
Runtime是iOS中比较难以理解, 但又非常强大的技术.所谓运行时, 就是尽可能地把决定从编译器推迟到运行期, 就是尽可能地做到动态. 只是在运行的时候才会去确定对象的类型和方法的. 因此利用Runtime机制可以在程序运行时动态地修改类和对象中的所有属性和方法.Objective-C中调用对象的方法时, 会向该对象发送一条消息, runtime根据该消息做出反应.Runtime是一套比较底层的纯C语言的原创 2016-04-17 22:25:33 · 11023 阅读 · 2 评论 -
iOS --- 使用CADisplayLink来实现定时任务
CADisplayLink是以屏幕刷新频率将内容绘制到屏幕上的定时器。使用的时候,先创建一个CADisplayLink对象,将其添加到一个RunLoop中,并设置target和selector方法,则每次屏幕刷新的时候,selector方法就会自动调用。原创 2015-12-23 21:26:07 · 3536 阅读 · 0 评论 -
iOS --- 总结Objective-C中常用的宏定义(持续更新中)
将iOS开发中常用的宏定义整理如下,仅包含Objective-C。 而对于Swift,不能使用宏,则可以定义全局函数或者extension。请参考博客iOS — 总结Swift中常用的全局函数和extension(持续更新中)。原创 2015-12-20 19:37:23 · 3274 阅读 · 0 评论 -
[转] iOS --- "自释放"在iOS开发中的应用
转载自庞海礁的个人空间.今天,跟大家聊聊“自释放”思想在iOS开发中的应用,何为“自释放”?可以简单的理解为对象在生命周期结束后自动清理回收所有与其相关的资源或链接,这个清理不仅仅包括对象内存的回收,还包括对象解耦以及附属事件的清理等,比如定时器的自我停止、KVO对象的监听移除等.对象内存的回收开发中,对象管理的基本原则——谁创建谁释放。转载 2015-10-15 21:56:10 · 1150 阅读 · 0 评论 -
iOS --- UINavigationController的简单总结
UINavigationController是iOS开发中常用的用于视图切换的控制器. 在对象管理上, UINavigationController采用stack的方式来管理各个view的层级, rootViewController在stack的最底层. 同时, 也提供了诸多方法用于进行view之间的切换及管理等.常见的方法有pushViewController与popViewController等, 需要注意的是UINavigationController对应的segue的属性要设置为push方式.原创 2014-12-24 00:02:54 · 1884 阅读 · 0 评论 -
iOS --- 在UITableView中使用segue进行页面跳转的注意事项
在之前的一篇学习记录UINavigationController的简单总结中, 介绍了使用UINavigationController及segue实现View之间的跳转, 并在两个View之间进行数据的传递. 如果该segue是连接UITableViewCell与WebViewController, 点击单个cell的时候, 发现页面会跳转至WebViewController, 但想要的数据却并未成功通过segue.原创 2015-05-07 13:43:04 · 4092 阅读 · 0 评论 -
iOS --- Objective-C中的Category
Objective-C中的Category类似于Swift中的extension. 常用于给Int, NSString, NSArray等基本数据类型的对象进行一些方法的扩展.主要有两种用途: 基本类型扩展和函数前向定义.原创 2015-06-29 18:09:47 · 1076 阅读 · 1 评论 -
iOS --- 使用cocoapods来管理iOS工程中的第三方类库
cocoapods是非常优秀的IOS包管理工具,用来管理第三方组件, 完美解决第三方类库库更新, 相互间依赖等关系.原创 2015-07-01 12:59:36 · 1283 阅读 · 0 评论 -
[转] iOS --- 应用程序的状态及其切换(生命周期)
本文转载自iOS应用程序的状态及其切换(生命周期). 做iOS开发有小一年了,做应用开发有好几年了。大大小小的应用也开发了很多种,但无论是运行在哪个平台上的用什么语言开发出来的应用程序,对于执行内容比较长的、场景比较复杂的情况,通过状态和生命周期来组织代码是非常好的一种方式。本文对iOS应用涉及到的生命周期,或者叫应用程序状态做一个简要的小结。转载 2015-06-26 13:48:18 · 1128 阅读 · 0 评论 -
iOS --- 本地推送通知 UILocalNotification
本地推送UILocalNotification常用于定期提醒用户使用该APP,如AirBrush的定期提醒用户拍照,运动锻炼工具的每天锻炼提醒。不同于远程推送RemoteNotification,本地推送一般较固定,通常事先设置好推送周期。而推送内容往往也是固定的,可存放于plist文件中。本地推送并不依赖于网络连接,可简单将其视为一个定时装置即可。原创 2016-02-11 11:25:08 · 2175 阅读 · 0 评论 -
iOS --- 音量调节视图MPVolumeView的使用
在之前的一篇文章 iOS — 使用AVFoundation的AVAudioPlayer来播放音频中,简单介绍了AVAudioPlayer的使用。其中通过AVAudioPlayer对象实例的volume属性可以调节该APP的音量大小。但不会影响到iOS系统音量。那如果要对系统音量进行调节呢?原创 2015-10-22 08:14:31 · 15996 阅读 · 0 评论 -
iOS --- 使用NSTimer设置定时任务的注意事项
NSTimer是iOS开发中的定时器机制,常用其ischeduledTimerWithTimeInterval方法来设置定时任务。 我们以一个倒计时的定时器来说明下边几点要注意的事项。原创 2015-10-11 14:43:46 · 3114 阅读 · 0 评论 -
iOS --- Objective-C中的内存管理
iOS开发中, 之前一直使用swift, 因此对于Objective-C的内存管理机制长期处于混乱的一知半解状态. 今天终于看到一篇讲得透彻的博客Objective-C内存管理教程和原理剖析, 感谢作者.原创 2015-06-17 11:05:14 · 2259 阅读 · 0 评论 -
iOS---如何在CocoaPods上发布自己的项目
目前, 在iOS开发中, CocoaPods应该算是使用最为频繁的包管理工具了.原创 2016-06-29 00:05:37 · 1842 阅读 · 1 评论 -
iOS --- 获取iOS设备的电量信息:Battery Level
本文介绍了如何通过API获取iOS设备的电量信息。 移动设备的电量消耗一直是一个大问题,APP开发中也不可避免地需要收集APP运行时的电量消耗信息,这也是APP性能的衡量标准之一。原创 2015-04-15 12:42:58 · 10027 阅读 · 0 评论 -
iOS --- 理解UIWindow及其常见使用场景
UIWindow继承自UIView, 用来管理和协调各种视图. 提供一个区域来显示视图, 将事件event分发给视图. 每个iOS应用必须包含一个window用于展示APP的交互页面. 且一个APP通常只有一个UIWindow, 包含了APP的可视内容. 即使有多个, 也只有一个UIWindow可以接收用户的touch事件.原创 2016-04-04 20:48:01 · 1461 阅读 · 0 评论 -
iOS --- 通过openURL实现APP之间跳转并传递数据
在博客iOS — 通过UIApplication的openURL来实现APP之间的相互跳转中, 介绍了如何实现iOS APP之间的相互跳转, 使用的就是UIApplication的openURL:方法. 那么, 如果想要在openURL方法中传递参数和数据, 应该如何实现呢?原创 2016-04-04 15:52:50 · 6827 阅读 · 0 评论 -
iOS --- 通过UIApplication的openURL来实现APP之间的相互跳转
iOS设备中, APP之间的相互跳转主要是通过UIApplication的openURL来实现的.原创 2015-09-07 09:37:42 · 5927 阅读 · 0 评论 -
iOS --- 使用Mixpanel来统计和分析移动APP的用户数据
Mixpanel是非常好用的移动数据统计分析工具。开发者通过调用相关接口,就可以访问MixPanel收集的目标APP的各种即时分析数据。该平台可以跟踪用户的评论数、订阅者数、like 次数、分享次数、页面浏览数量等。原创 2015-09-17 22:06:32 · 4921 阅读 · 0 评论 -
iOS --- UIScrollView和UIPageControl的简单使用
UIScrollView是iOS中非常常见的一个控件, 通常结合UIPageControl实现如下的滚动效果.原创 2015-10-07 12:42:17 · 1535 阅读 · 0 评论 -
iOS --- 使用UIRefreshControl来刷新UITableView等控件
iOS开发中, 经常需要添加UITableView的下拉刷新功能, 使用UIRefreshControl就可以非常方便得实现.原创 2015-05-09 17:36:19 · 1930 阅读 · 0 评论 -
iOS --- Objective-C中类的成员变量与属性
在Objective-C的类与对象的概念中. 成员变量与属性的区别与联系一直没有搞清楚. 直到学习了慕课网上的这个课程Objective-C面向对象初体验, 才算真正有了点感觉了. 最关键的结论就是: 类内使用成员变量{}, 类外使用属性@property.原创 2015-05-06 16:58:51 · 11467 阅读 · 1 评论 -
iOS --- 使用openURL调用iOS系统应用
使用openURL可以非常方便地调用iOS系统内部的各种应用。原创 2015-10-19 23:17:52 · 1492 阅读 · 0 评论 -
iOS --- 使用CoreTelephony来获取运营商信息
使用CoreTelephony获取运营商信息的过程.原创 2015-10-19 20:16:12 · 4421 阅读 · 0 评论 -
iOS --- 在代码中使用NSLayoutConstraint添加AutoLayout的约束条件
AutoLayout是iOS开发中的布局适配神器。常在storyboard和xib文件中直接使用, 用于不同屏幕大小的适配。而在某些情况下,需要使用代码实现AutoLayout,则可以使用NSLayoutConstraint对象来添加约束条件。原创 2015-09-13 20:12:52 · 3782 阅读 · 0 评论 -
iOS --- UITableView的优化技巧
在iOS开发中, UITableView是最常用到的复杂控件. 使用不难, 但想用好却不容易. 需要考虑到后台数据的设计, tableViewCell的设计和优化, 以及tableView的效率等问题.原创 2015-07-04 10:49:28 · 5621 阅读 · 0 评论 -
iOS --- UIViewController中的loadView使用场景
使用loadView方法触发nib中UIView的加载原创 2015-09-11 13:03:57 · 2451 阅读 · 2 评论 -
iOS --- UIView与CALayer的联系与区别
UIView是iOS系统中界面元素的基础, 所有的界面元素都继承自它, UIView本身完全是由CoreAnimation来实现. 真正的绘图部分, 是由一个CALayer类来管理. UIView更像是一个CALayer的管理器, UIView继承自UIResponder, 能接收并响应事件, 负责显示内容的管理, 而CALayer继承自NSObject, 不能响应事件, 负责显示内容的绘制.原创 2015-09-07 07:21:51 · 5085 阅读 · 0 评论 -
iOS --- 使用AVFoundation的AVAudioPlayer来播放音频
iOS提供了AVFoundation框架来进行音频的播放和录制,分别使用AVAudioPlayer和AVAudioRecorder即可。原创 2015-09-27 14:38:19 · 2683 阅读 · 0 评论 -
iOS --- 在NSObject子类的执行代码中实现UIViewController的跳转
在iOS开发中, 要实现UIViewController之间的跳转,通过navigationController的pushViewController或者UIViewController自身的presentViewController的方式即可。但要求是从一个UIViewController跳到另外一个UIViewController中。如果要从NSObject子类的执行代码中做跳转至UIViewController原创 2015-09-10 07:39:14 · 4067 阅读 · 6 评论 -
iOS --- 多语言适配的注意事项
关于iOS APP的国际化适配,主要有以下几点:Localizable.strings文件该文件主要用于字符串的多语言版本,包括Localizable.string(English), Localizable.strings(Chinese(Simplified)), Localizable.strings(Chinese(Traditional))等多个版本。原创 2015-10-06 10:17:39 · 3288 阅读 · 0 评论 -
iOS --- 使用NSAssert来调试程序
NSAssert可用来对结果进行断言,如下用于断言UIButton的title不为空原创 2015-10-22 07:24:32 · 1433 阅读 · 0 评论 -
[转] iOS --- 你的App真正适配了iOS 9吗?
转载一篇iOS 9适配的文章(出自优快云): 你的App真正适配了iOS 9吗?转载 2015-09-11 13:09:30 · 869 阅读 · 0 评论 -
iOS --- 常用控件使用方法之UIWebView
UIWebView是iOS中用于展示Web页面的基本控件,提供了非常简便高效的使用方式.原创 2014-12-08 16:33:12 · 1182 阅读 · 0 评论 -
iOS --- 分别使用NSTimer及setKeepAliveTimeout来实现定时任务
NSTimer可以在APP中设置定时执行的任务. 而使用setKeepAliveTimeout: handler:可以设置APP后台运行时的定时任务.原创 2015-05-09 18:03:51 · 7828 阅读 · 0 评论 -
iOS --- 常用控件使用方法之UITableView
UITableView是iOS中非常常见的一个控件,主要用来进行列表内容的展示.有两个默认的内置风格: UITableViewStylePlain和UITableViewStyleGrouped.其中UITableViewStyleGrouped允许将列表中的内容进行分组.UITableViewController是专用于UITableView的视图控制器,提供了一系列的方法来对UITableView进行创建和维护.原创 2014-12-15 00:28:31 · 1805 阅读 · 1 评论 -
iOS --- 使用NSJSONSerialization来解析JSON格式的数据
iOS中对JSON格式的解析通常可以采用NSJSONSerialization来实现.另外,也可以使用另一个非常方便强大的JSON类库SwiftyJSON.原创 2014-11-23 16:41:58 · 1552 阅读 · 0 评论 -
[转] iOS --- 深入理解Objective-C的Block
本文转载自深入理解Objective-C的Block. 在面向对象语言中,类封装了数据和这些数据相关的行为。然而有些情况下,一个简单的任务和已通过一段代码块和少数几个变量来完成。在iOS中有了代码块block的概念,这篇文章就对block的使用做一个简单的整理。Block概述Block是C语言级别和运行时方面的一个特征。转载 2015-06-26 14:03:18 · 1545 阅读 · 0 评论 -
iOS --- UIView之间布局及跳转的几种方式
UIView是iOS开发中所有视图的基类, 表示屏幕上的一块矩形区域, 同时可以处理该区域的绘制和触摸事件. UIViewController是视图控制器的基类, 用来处理屏幕之间的切换等操作, 提供视图管理模型.原创 2015-06-16 20:02:14 · 2978 阅读 · 0 评论 -
iOS --- 使用UIActivityViewController实现分享功能
UIActivityViewController是iOS自带的分享功能的控制器,包含AirDrop,Copy,Message,Email等功能。开发者可以通过该视图控制器自定义分享功能。当然,部分分享功能直接采用友盟或shareSDK也可以。UIActivity一个UIActivity代表一个分享的功能。创建自定义Activity如下:@interface CustomActivity : UIAc原创 2015-11-09 20:37:53 · 3685 阅读 · 0 评论