
iOS
文章平均质量分 73
PM_rcount
物联网一员
展开
-
iOS中最常用的设计模式MVC。
一、MVC概念MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范。MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。 二、MVC间通信1、Model和View永远不能相互通信,只能通过C转载 2016-04-24 21:33:56 · 402 阅读 · 0 评论 -
iOS开发系列--UITableView全面解析
概述在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似于微信、QQ、新浪微博等软件基本上随处都是UITableView。当然它的广泛使用自然离不开它强大的功能,今天这篇文章将针对UITableView重点展开讨论。今天的主要内容包括:基本介绍数据源代理性能优化UItableViewcCell常用操作UItableviewCol转载 2016-04-25 00:16:25 · 380 阅读 · 0 评论 -
iOS开发系列--视图切换
概述在iOS开发中视图的切换是很频繁的,独立的视图应用在实际开发过程中并不常见,除非你的应用足够简单。在iOS开发中常用的视图切换有三种,今天我们将一一介绍:UITabBarControllerUINavigationController模态窗口UITabBarControlleriOS三种视图切换的原理各不相同:UITabBarController:以平行转载 2016-04-25 00:20:28 · 535 阅读 · 0 评论 -
iOS开发系列--触摸事件、手势识别、摇晃事件、耳机线控
概览iPhone的成功很大一部分得益于它多点触摸的强大功能,乔布斯让人们认识到手机其实是可以不用按键和手写笔直接操作的,这不愧为一项伟大的设计。今天我们就针对iOS的触摸事件(手势操作)、运动事件、远程控制事件等展开学习:iOS事件简介触摸事件手势识别运动事件远程控制事件iOS事件在iOS中事件分为三类:触摸事件:通过触摸、手势进行触发(例如手指点击、缩放)运动事件转载 2016-04-25 00:22:45 · 479 阅读 · 0 评论 -
iOS开发系列--让你的应用“动”起来
概览在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看到iOS中如何使用图层精简非交互式绘图,如何通过核心动画创建基础动画、关键帧动画、动画组、转场动画,如何通过UIView的装饰方法对这些动画操作进行简化等。在今天的文章里您可以看到动画操作在iOS中是如何简单和高效,很多原来想做但是苦于没有思路的动画在iOS中将变得越发简单:转载 2016-04-25 00:26:06 · 379 阅读 · 0 评论 -
iOS开发系列--并行开发其实很容易
概览大家都知道,在开发过程中应该尽可能减少用户等待时间,让程序尽可能快的完成运算。可是无论是哪种语言开发的程序最终往往转换成汇编语言进而解释成机器码来执行。但是机器码是按顺序执行的,一个复杂的多步操作只能一步步按顺序逐个执行。改变这种状况可以从两个角度出发:对于单核处理器,可以将多个步骤放到不同的线程,这样一来用户完成UI操作后其他后续任务在其他线程中,当CPU空闲时会继续执行,而此时对于用户转载 2016-04-25 00:29:37 · 410 阅读 · 0 评论 -
iOS开发之--数据存取
概览在iOS开发中数据存储的方式可以归纳为两类:一类是存储为文件,另一类是存储到数据库。例如前面IOS开发系列—Objective-C之Foundation框架的文章中提到归档、plist文件存储,包括偏好设置其本质都是存储为文件,只是说归档或者plist文件存储可以选择保存到沙盒中,而偏好设置系统已经规定只能保存到沙盒的Library/Preferences目录。当然,文件存储并不作为本转载 2016-04-24 23:14:33 · 517 阅读 · 0 评论 -
iOS开发系列--网络开发
概览大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博、微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的。如今,网络编程越来越普遍,孤立的应用通常是没有生命力的。今天就会给大家介绍这部分内容:Web请求与响应使用代理方法简化请求方法图片缓存扩展--文件分段下载扩展--文件上传NSURLSession数据请求文件上传文件转载 2016-04-25 00:39:27 · 569 阅读 · 0 评论 -
iOS开发系列--地图与定位
概览现在很多社交、电商、团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用和导航应用所特有的。的确,有了地图和定位功能确实让我们的生活更加丰富多彩,极大的改变了我们的生活方式。例如你到了一个陌生的地方想要查找附近的酒店、超市等就可以打开软件搜索周边;类似的,还有很多团购软件可以根据你所在的位置自动为你推荐某些商品。总之,目前地图和定位功能已经大量引入到应用开发中。今天就和大家一起看转载 2016-04-25 00:43:02 · 447 阅读 · 0 评论 -
iOS开发系列--通知与消息机制
概述在多数移动应用中任何时候都只能有一个应用程序处于活跃状态,如果其他应用此刻发生了一些用户感兴趣的那么通过通知机制就可以告诉用户此时发生的事情。iOS中通知机制又叫消息机制,其包括两类:一类是本地通知;另一类是推送通知,也叫远程通知。两种通知在iOS中的表现一致,可以通过横幅或者弹出提醒两种形式告诉用户,并且点击通知可以会打开应用程序,但是实现原理却完全不同。今天就和大家一块去看一下如何在i转载 2016-04-25 00:45:06 · 425 阅读 · 0 评论 -
iOS开发系列--音频播放、录音、视频播放、拍照、视频录制
概览随着移动互联网的发展,如今的手机早已不是打电话、发短信那么简单了,播放音乐、视频、录音、拍照等都是很常用的功能。在iOS中对于多媒体的支持是非常强大的,无论是音视频播放、录制,还是对麦克风、摄像头的操作都提供了多套API。在今天的文章中将会对这些内容进行一一介绍:音频音效音乐音频会话录音音频队列服务视频MPMoviePlayerController MPMo转载 2016-04-25 00:51:59 · 612 阅读 · 0 评论 -
iOS开发系列--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开发汇总
iOS开发过程中有时候难免会使用iOS内置的一些应用软件和服务,例如QQ通讯录、微信电话本会使用iOS的通讯录,一些第三方软件会在应用内发送短信等。今天将和大家一起学习如何使用系统应用、使用系统服务:调用系统应用使用系统服务短信与邮件通讯录蓝牙社交Game Center应用内购买iCloudPassbook目 录系统应用在开发某些应用时可能希望能够调用iOS系统转载 2016-04-25 00:57:33 · 1343 阅读 · 0 评论 -
产品老司机如何画原型?
当我们在画原型时,我们是在画什么?在讨论这个问题之前,我们应该先明确一个最本质的问题,就是我们画原型的目的是什么? 原型是产品设计阶段最终的交付物,产品经理设计完成的原型要交付给研发团队、UI团队、UED团队进行产品研发阶段的相关工作。所以原型的目的就是让接手下一个阶段工作的小伙伴可以清晰了解产品经理的产品设计思想,可以按照产品经理规划的愿景设计产品,避免打造出一款与最初设想转载 2017-09-18 16:08:10 · 982 阅读 · 0 评论 -
iOS开发之--屏幕适配相关小结
屏幕适配小结一、纯手动之Autolayout1、VFL语言添加约束VFL(Visual format language)语言是苹果为了简化手写Autolayout代码所创建的专门负责编写约束的代码。为我们简化了许多代码量。2、使用步骤使用步骤同手动添加约束保持一致创建控件添加到父控件禁用Aoturesizing添加约束3、使用方法原创 2016-07-19 12:43:52 · 3175 阅读 · 0 评论 -
iOS开发系列--无限循环的图片浏览器
概述UIKit框架中有大量的控件供开发者使用,在iOS开发中不仅可以直接使用这些控件还可以在这些控件的基础上进行扩展打造自己的控件。在这个系列中如果每个控件都介绍一遍确实没有必要,所谓授人以鱼不如授人以渔,这里会尽可能让大家明白其中的原理,找一些典型的控件进行说明,这样一来大家就可以触类旁通。今天我们主要来看一下UIScrollView的内容:UIviewUIScrollView实战-转载 2016-04-25 00:12:05 · 584 阅读 · 0 评论 -
iOS开发系列--IOS程序开发概览
概览终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言、ObjC等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的IOS程序。但是这里我想强调一下,前面的知识是你日后开发IOS的基础,没有那些知识你开发IOS会很痛苦,现在很多开发人员做开发都是一知半解,程序质量确实令人担忧,所以还是希望大家能够熟练掌握前面的内容,开发过程中多思考,彻底理解程序运行的转载 2016-04-25 00:09:02 · 396 阅读 · 0 评论 -
iOS开发系列—Objective-C之Foundation框架
概述我们前面的章节中就一直新建Cocoa Class,那么Cocoa到底是什么,它和我们前面以及后面要讲的内容到底有什么关系呢?Objective-C开发中经常用到NSObject,那么这个对象到底是谁?它为什么又出现在Objective-C中间呢?今天我们将揭开这层面纱,重点分析在IOS开发中一个重要的框架Foundation,今天的主要内容有:foundation概述常用结构体日期转载 2016-04-25 00:06:27 · 495 阅读 · 0 评论 -
iOS开发之 协议 protocol
Protocol是ios开发中的一个难点也是一个重点,要想使用好,或者理解好它,可能需要时间的累积。今天我们就通过一个例子来简单的看一下,怎么样使用protocol。 我们今天用的例子就是模拟电脑插入usb设备来剖析一下protocol的使用。 我们首先来想一下,我们的usb设备和电脑的pci接口之间应该是需要遵从某种协议的,否则的我们的usb设备不可能在电脑上使用的!原创 2016-04-24 22:12:08 · 465 阅读 · 0 评论 -
CGContextRef详解
CGContextRef详解http://blog.youkuaiyun.com/wangbo1981814/article/details/37651991//原文链接Graphics Context是图形上下文,可以将其理解为一块画布,我们可以在上面进行绘画操作,绘制完成后,将画布放到我们的view中显示即可,view看作是一个画框.Quartz提供了以下几种类型的Grap转载 2016-04-24 22:31:38 · 534 阅读 · 0 评论 -
iOS开发系列--Objective-C之KVC、KVO
概述由于ObjC主要基于Smalltalk进行设计,因此它有很多类似于Ruby、Python的动态特性,例如动态类型、动态加载、动态绑定等。今天我们着重介绍ObjC中的键值编码(KVC)、键值监听(KVO)特性:键值编码kvc键值监听kvo键值编码KVC我们知道在C#中可以通过反射读写一个对象的属性,有时候这种方式特别方便,因为你可以利用字符串的方式去动态控制一个对象。其实转载 2016-04-24 23:52:32 · 265 阅读 · 0 评论 -
iOS开发系列—Objective-C之内存管理
概述我们知道在程序运行过程中要创建大量的对象,和其他高级语言类似,在ObjC中对象时存储在堆中的,系统并不会自动释放堆中的内存(注意基本类型是由系统自己管理的,放在栈上)。如果一个对象创建并使用后没有得到及时释放那么就会占用大量内存。其他高级语言如C#、Java都是通过垃圾回收来(GC)解决这个问题的,但在OjbC中并没有类似的垃圾回收机制,因此它的内存管理就需要由开发人员手动维护。今天将着重转载 2016-04-24 23:50:27 · 325 阅读 · 0 评论 -
iOS开发系列--Objective-C之协议、代码块、分类
概述ObjC的语法主要基于smalltalk进行设计的,除了提供常规的面向对象特性外,还增加了很多其他特性,这一节将重点介绍ObjC中一些常用的语法特性。当然这些内容虽然和其他高级语言命名不一样,但是我们都可以在其中找到他们的影子,在文章中我也会对比其他语言进行介绍,这一节的重点内容如下:协议protocol代码块block分类category协议protocol在ObjC转载 2016-04-24 23:47:55 · 264 阅读 · 0 评论 -
iOS开发之--图形上下文以及绘图
概述在iOS中可以很容易的开发出绚丽的界面效果,一方面得益于成功系统的设计,另一方面得益于它强大的开发框架。今天我们将围绕iOS中两大图形、图像绘图框架进行介绍:Quartz 2D绘制2D图形和Core Image中强大的滤镜功能。Quartz 2D基本图形绘制视图刷新其他图形上下文Core ImageQuartz 2D在iOS中常用的绘图框架就是Quartz 2D转载 2016-04-24 23:10:23 · 6729 阅读 · 0 评论 -
iOS开发之--C语言之基础知识
概览当前移动开发的趋势已经势不可挡,这个系列希望浅谈一下个人对IOS开发的一些见解,这个IOS系列计划从几个角度去说IOS开发:C语言OC基础IOS开发(iphone/ipad)Swift这么看下去还有大量的内容需要持续补充,但是今天我们从最基础的C语言开始,C语言部分我将分成几个章节去说,今天我们简单看一下C的一些基础知识,更高级的内容我将放到后面的文章中。今天基础知识分为以转载 2016-04-24 23:24:41 · 388 阅读 · 0 评论 -
iOS开发之--C语言之数组和字符串
概述 数组在C语言中有着特殊的地位,它有很多特性,例如它的存储是连续的,数组的名称就是数组的地址等。而在C语言中是没有String类转载 2016-04-24 23:28:39 · 312 阅读 · 0 评论 -
iOS开发之--C语言之预处理
概述大家都知道一个C程序的运行包括编译和链接两个阶段,其实在编译之前预处理器首先要进行预处理操作,将处理完产生的一个新的源文件进行编译。由于预处理指令是在编译之前就进行了,因此很多时候它要比在程序运行时进行操作效率高。在C语言中包括三类预处理指令,今天将一一介绍:宏定义条件编译文件包含宏定义对于程序中经常用到的一些常量或者简短的函数我们通常使用宏定义转载 2016-04-24 23:32:16 · 309 阅读 · 0 评论 -
iOS开发系列--C语言之存储方式和作用域
概述基本上每种语言都要讨论这个话题,C语言也不例外,因为只有你完全了解每个变量或函数存储方式、作用范围和销毁时间才可能正确的使用这门语言。今天将着重介绍C语言中变量作用范围、存储方式、生命周期、作用域和可访问性。变量作用范围存储方式可访问性变量作用范围在C语言中变量从作用范围包括全局变量和局部变量。全局变量在定义之后所有的函数中均可以使用,只要前面的代码修改了,那么后面的代转载 2016-04-24 23:35:49 · 354 阅读 · 0 评论 -
iOS开发系列--C语言之构造类型
概述在第一节中我们就提到C语言的构造类型,分为:数组、结构体、枚举、共用体,当然前面数组的内容已经说了很多了,这一节将会重点说一下其他三种类型。结构体枚举共用体结构体数组中存储的是一系列相同的数据类型,那么如果想让一个变量存储不同的数据类型就要使用结构体,结构体定义类似于C++、C#、Java等高级语言中类的定义,但事实上它们又有着很大的区别。结构体是一种类型,并非一个变量转载 2016-04-24 23:40:17 · 293 阅读 · 0 评论 -
iOS开发系列—Objective-C之基础概览
概览前面我们已经用了几章内容进行C语言介绍,当然要通过几篇文章完整的介绍C语言的知识是不太现实的,例如C语言的文件操作、内存申请等我们都没有重点介绍,当然核心知识点基本都已经提到了,后面有时间我们会继续扩充。今天我们正式开始学习Objective-C,以后简称“ObjC”,ObjC是在C语言的基础上加上了一层面向对象的特性,它完全兼容C语言,甚至可以混写C++。它是Mac OS X和IOS的主转载 2016-04-24 23:41:31 · 334 阅读 · 0 评论 -
iOS开发系列--Objective-C之类和对象
概述前面已经简单介绍过ObjC的基础知识,让大家对ObjC有个大致的印象,今天将重点解释ObjC面向对象的特性。ObjC相对于C语言多了面向对象特性,但是ObjC又没有其他面向对象语言那么多语法特性,ObjC本身对面向对象进行了精简。当然这并不代表今天的内容就会少,今天的内容还是相当多的:类定义成员变量方法和属性self关键字构造方法description方法继承类定义在C转载 2016-04-24 23:46:22 · 286 阅读 · 0 评论 -
iOS开发之--蓝牙开发的一些事
iOS Core Bluetooth蓝牙开发:先明确5个概念:CBCentral 中心设备(蓝牙主机)CBPeripheral 外设(蓝牙从机)CBService 服务CBCharacteristic 特征CBUUID UUID蓝牙连接的步骤就是建立中心设备,扫描外设,按硬件话说就是主机找从机。在外设中找到服务,在服务里找到它所有的特征。原创 2016-04-25 16:24:20 · 915 阅读 · 0 评论