
objective-c
文章平均质量分 76
PM_rcount
物联网一员
展开
-
iOS设计模式——单例模式
iOS设计模式——单例模式单例模式用于当一个类只能有一个实例的时候, 通常情况下这个“单例”代表的是某一个物理设备比如打印机,或是某种不可以有多个实例同时存在的虚拟资源或是系统属性比如一个程序的某个引擎或是数据。用单例模式加以控制是非常有必要的。单例模式需要达到的目的1. 封装一个共享的资源2. 提供一个固定的实例创建方法3. 提原创 2015-11-09 15:59:16 · 293 阅读 · 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开发,但是所有的数据支撑都是基于后台网络服务器的。如今,网络编程越来越普遍,孤立的应用通常是没有生命力的。今天就会给大家介绍这部分内容: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 评论 -
iOS开发之--屏幕适配相关小结
屏幕适配小结一、纯手动之Autolayout1、VFL语言添加约束VFL(Visual format language)语言是苹果为了简化手写Autolayout代码所创建的专门负责编写约束的代码。为我们简化了许多代码量。2、使用步骤使用步骤同手动添加约束保持一致创建控件添加到父控件禁用Aoturesizing添加约束3、使用方法原创 2016-07-19 12:43:52 · 3175 阅读 · 0 评论 -
iOS开发之--iOS网络请求错误码。
今天无聊刷脉脉,可是发现怎么刷都出现错误-1003,后来改为wifi网络下,变成错误-1001,上网查找了一番发现分别为找不到host和请求超时。官方链接为:https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Miscellaneous/Foundation_Constants/Re原创 2016-07-28 18:14:25 · 6651 阅读 · 0 评论 -
iOS开发系列--UITableView全面解析
概述在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似于微信、QQ、新浪微博等软件基本上随处都是UITableView。当然它的广泛使用自然离不开它强大的功能,今天这篇文章将针对UITableView重点展开讨论。今天的主要内容包括:基本介绍数据源代理性能优化UItableViewcCell常用操作UItableviewCol转载 2016-04-25 00:16:25 · 380 阅读 · 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开发UI篇—控制器的View的创建
iOS开发UI篇—控制器的View的创建 iOS开发UI篇—控制器的View的创建一、6种创建控制器View的方式1 #import "NJAppDelegate.h"2 #import "NJViewController.h"3 /* 4 1.没有同名xib情况下 5 2.通过 storyboard 创建原创 2015-11-09 16:04:43 · 414 阅读 · 0 评论 -
iOS容易造成循环引用的三种场景
iOS容易造成循环引用的三种场景 ARC已经出来很久了,自动释放内存的确很方便,但是并非绝对安全绝对不会产生内存泄露。导致iOS对象无法按预期释放的一个无形杀手是——循环引用。循环引用可以简单理解为A引用了B,而B又引用了A,双方都同时保持对方的一个引用,导致任何时候引用计数都不为0,始终无法释放。若当前对象是一个ViewController,则在dismiss或者pop之后其de转载 2015-11-09 16:17:32 · 426 阅读 · 0 评论 -
iOS block的相关知识详解
/* ---------------------------------------------------------------------------------------------------- */[0. Brief introduction of block]Block是iOS4.0+ 和Mac OS X 10.6+ 引进的对C语言的扩展,用来实现匿名函数的转载 2015-10-27 21:58:38 · 322 阅读 · 0 评论 -
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开发之 协议 protocol
Protocol是ios开发中的一个难点也是一个重点,要想使用好,或者理解好它,可能需要时间的累积。今天我们就通过一个例子来简单的看一下,怎么样使用protocol。 我们今天用的例子就是模拟电脑插入usb设备来剖析一下protocol的使用。 我们首先来想一下,我们的usb设备和电脑的pci接口之间应该是需要遵从某种协议的,否则的我们的usb设备不可能在电脑上使用的!原创 2016-04-24 22:12:08 · 465 阅读 · 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开发系列—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开发系列—Objective-C之Foundation框架
概述我们前面的章节中就一直新建Cocoa Class,那么Cocoa到底是什么,它和我们前面以及后面要讲的内容到底有什么关系呢?Objective-C开发中经常用到NSObject,那么这个对象到底是谁?它为什么又出现在Objective-C中间呢?今天我们将揭开这层面纱,重点分析在IOS开发中一个重要的框架Foundation,今天的主要内容有:foundation概述常用结构体日期转载 2016-04-25 00:06:27 · 495 阅读 · 0 评论 -
iOS开发之--蓝牙开发的一些事
iOS Core Bluetooth蓝牙开发:先明确5个概念:CBCentral 中心设备(蓝牙主机)CBPeripheral 外设(蓝牙从机)CBService 服务CBCharacteristic 特征CBUUID UUID蓝牙连接的步骤就是建立中心设备,扫描外设,按硬件话说就是主机找从机。在外设中找到服务,在服务里找到它所有的特征。原创 2016-04-25 16:24:20 · 915 阅读 · 0 评论