概要 待补充 App 生命周期 待补充 View Controller 生命周期 待补充 链接 Learn X in Y minutes —— swift 中文版 Learn X in Y minutes —— objective-c 英文版…
所有列表式的数据都是用 TableView 显示的 预览 待补充 原料 NSFetchedResultsController 用来操作 NSFetchRequst,有执行查询,监听变化,数据缓存等功能 NSFetchRequest 用来指定用什么条件查哪个表,结果集怎么排序 NSSortDescriptor 排序方式 必须 NSPredicate 谓语,其实就是查询条件,可选 UITableView UITableViewController UITableVIew 必须指定 DataSourc…
概述 我们前面的章节中就一直新建Cocoa Class,那么Cocoa到底是什么,它和我们前面以及后面要讲的内容到底有什么关系呢?Objective-C开发中经常用到NSObject,那么这个对象到底是谁?它为什么又出现在Objective-C中间呢?今天我们将揭开这层面纱,重点分析在IOS开发中一个重要的框架Foundation,今天的主要内容有: Foundation概述 常用结构体 日期 字符串 数组 字典 装箱和拆箱 反射 拷贝 文件操作 归档 Foundation概述 为什么前面说的内…
iOS开发网络篇—使用ASI框架进行文件下载 说明:本文介绍iOS网络编程中经常用到的框架ASI,如何使用该框架进行文件的下载. 一.简单介绍 代码示例: #import "YYViewController.h" #import "ASIHTTPRequest.h" @interface YYViewController () @end @implementation YYViewController - (void)viewDidLoad { [super vie…
IOS开发中如何判断程序第一次启动 在软件下载安装完成后,第一次启动往往需要显示一个新手操作引导,来告诉用户怎么操作这个app,这就需要在程序一开始运行就判断程序是否第一次启动,如果是,则显示新手操作引导节视图,如果不是,则进入其他视图. 可以使用NSUserDefaults这个单例来判断程序是否第一次启动,在 AppDelegate.m这个文件中的didFinishLaunchingWithOptions函数中加入下面这段单例的代码: // 使用NSUserDefaults来判断程序是否第一次…
iOS开发UI篇—iOS开发中三种简单的动画设置 [在ios开发中,动画是廉价的] 一.首尾式动画 代码示例: // beginAnimations表示此后的代码要“参与到”动画中 [UIView beginAnimations:nil context:nil]; //设置动画时长 [UIView setAnimationDuration:2.0]; self.headImageView.bounds = rect; // commitAnimations,将beginAnimation之后的所…
iOS开发UI篇—IOS开发中Xcode的一些使用技巧 一.快捷键的使用 经常用到的快捷键如下: 新建 shift + cmd + n     新建项目 cmd + n             新建文件 视图 option + cmd + 回车 打开助理编辑器 cmd + 回车           显示主窗口 cmd + 0             导航窗口 option + cmd + 0    工具窗口 在.m & .h之间切换           control + cmd + 上/下 按…
iOS开发UI篇—ios应用数据存储方式(XML属性列表-plist) 一.ios应用常用的数据存储方式 1.plist(XML属性列表归档) 2.偏好设置 3.NSKeydeArchiver归档(存储自定义对象) 4.SQLite3(数据库,关系型数据库,不能直接存储对象,要编写一些数据库的语句,将对象拆开存储) 5.Core Data(对象型的数据库,把内部环节屏蔽) 二.应用沙盒 每个iOS应用都有⾃己的应⽤沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离.应⽤必须待在⾃己的沙盒里,其…
iOS开发UI篇—ios应用数据存储方式(偏好设置) 一.简单介绍 很多iOS应用都支持偏好设置,比如保存用户名.密码.字体大小等设置,iOS提供了一套标准的解决方案来为应用加入偏好设置功能 每个应用都有个NSUserDefaults实例,通过它来存取偏好设置.比如,保存用户名.字体大小.是否自动登录 存储位置: 存储形式: 二.代码示例 1.storyboard 2.代码 // // YYViewController.m // 01-偏好设置 // // Created by apple on…
iOS开发UI篇—ios应用数据存储方式(归档)  一.简单说明 在使用plist进行数据存储和读取,只适用于系统自带的一些常用类型才能用,且必须先获取路径相对麻烦: 偏好设置(将所有的东西都保存在同一个文件夹下面,且主要用于存储应用的设置信息) 归档:因为前两者都有一个致命的缺陷,只能存储常用的类型.归档可以实现把自定义的对象存放在文件中. 二.代码示例 1.文件结构 2.代码示例 YYViewController.m文件 // // YYViewController.m // 02-归档 /…
本文转发至:文顶顶http://www.cnblogs.com/wendingding/p/3775293.html iOS开发UI篇—ios应用数据存储方式(归档)  一.简单说明 在使用plist进行数据存储和读取,只适用于系统自带的一些常用类型才能用,且必须先获取路径相对麻烦: 偏好设置(将所有的东西都保存在同一个文件夹下面,且主要用于存储应用的设置信息) 归档:因为前两者都有一个致命的缺陷,只能存储常用的类型.归档可以实现把自定义的对象存放在文件中. 二.代码示例 1.文件结构 2.代码…
现在的iOS项目中嵌入了越来越多的Web界面,当然是为了方便,那么为了迎合这一趋势,作为iOS开发程序员,我们必须要了解怎么样用OC去和这些Web界面进行交互.这里介绍的是JavaScriptCore这个框架,他就是苹果为了解决这一问题而推出的框架. JavaScriptCore的类说明 在做OC与H5的交互之前,我们需要先导入JavaScriptCore框架 #import <JavaScriptCore/JavaScriptCore.h> 然后我们进入到JavaScriptCore框架的J…
一.非对称加密 - RSA : + 公钥加密,私钥解密: + 私钥加密,公钥解密: + 只能通过因式分解来破解 二.对称加密 - DES - 3DES - AES (高级密码标准,美国国家安全局使用,iOS操作系统内部使用,目前还没有发现过被破解的案例) 三.哈希散列函数 (摘要算法) 1.常见算法 - MD5 - SHA1 - SHA256/512 2.散列函数特点 - 算法是公开的 - 对相同的数据加密,得到的结果是一样的 - 对不同的数据加密,得到的结果是一样长的32位字符 由a-Z 0-…
  iOS开发 Xcode8中遇到的问题及改动 新版本发布总会有很多坑,也会有很多改动. 一个一个填吧... 一.遇到的问题 1.权限以及相关设置 iOS10系统下调用系统相册.相机功能,或者苹果健康都会遇到闪退的情况,调用系统相册报错描述如下: This app has crashed because it attempted to access privacy-sensitive data without a usage description.The app's Info.plist mu…
IOS开发基础知识 1:Objective-C语法之动态类型(isKindOfClass, isMemberOfClass,id) 对象在运行时获取其类型的能力称为内省.内省可以有多种方法实现. 判断对象类型 -(BOOL) isKindOfClass: classObj判断是否是这个类或者这个类的子类的实例 -(BOOL) isMemberOfClass: classObj 判断是否是这个类的实例 实例一: Person *person = [[Person alloc] init]; //父…
模型-视图-控制器(Model-View-Controller,MVC)是Xerox PARC在20世纪80年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已广泛应用于用户交互应用程序中.在iOS开发中MVC的机制被使用的淋漓尽致,充分理解iOS的MVC模式,有助于我们程序的组织合理性. 模型对象 模 型对象封装了应用程序的数据,并定义操控和处理该数据的逻辑和运算.例如,模型对象可能是表示游戏中的角色或地址簿中的联系人.用户在视图层中所进行的创 建或修改数据的操作,通过控制器对…
模型-视图-控制器(Model-View-Controller,MVC)是Xerox PARC在20世纪80年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已广泛应用于用户交互应用程序中.在iOS开发中MVC的机制被使用的淋漓尽致,充分理解iOS的MVC模式,有助于我们程序的组织合理性. 模型对象 模型对象封装了应用程序的数据,并定义操控和处理该数据的逻辑和运算.例如,模型对象可能是表示游戏中的角色或地址簿中的联系人.用户在视图层中所进行的创建或修改数据的操作,通过控制器对象传…
最近闲来无事去面试一下iOS开发,让我感到吃惊的,面试官竟然问怎么分目录结构,还具体问每个子目录的文件名. 目录结构确实非常重要,面试官这么问,无疑是想窥探开发经验.清晰的目录结构,可让人一眼明白相应的业务和职能,这也能体现开发者的经验和架构水平. 目前,我接触过的项目中,比较常规的两种结构:1.主目录按照业务分类,内目录按照模块分类(主目录按照MVC架构分类,内部根据项目模块分类) 优点:相对比较快定位对应的业务.缺点:模块相关类太过分散,需要来回切换寻找文件,不方便开发. 2.主目录按照模块…
V4L2应用程序框架 V4L2较V4L有较大的改动,并已成为2.6的标准接口,函盖video\dvb\FM...,多数驱动都在向V4l2迁移.更好地了解V4L2先从应用入手,然后再深入到内核中结合物理设备/接口的规范实现相应的驱动.本文先就V4L2在视频捕捉或camera方面的应用框架. V4L2采用流水线的方式,操作更简单直观,基本遵循打开视频设备.设置格式.处理数据.关闭设备,更多的具体操作通过ioctl函数来实现. 1.打开视频设备 在V4L2中,视频设备被看做一个文件.使用open函数打…
概述 学习一项新技术之前要先了解这个技术的整体框架,这里先简单说一下 Android 的程序结构. Android App 有四个顶层的类:Activity.Service.ContentProvider.BroadcastReceiver. 顶层类 Activity Activity 是 Android 应用最重要的概念,没有之一.当你打开一个 App,你看到的界面就是一个 Activity.里面的图片.按钮.输入框.列表,都是这个 Activity 里的 View. Service 猜都猜得…
对于移动APP来说,客户端(iOS或android)的界面开发是必不可少的工作.为了减轻界面开发的工作量,也为了提高开发的速度,选择一个良好的界面框架,是有意义的. iOS开源的界面框架有很多,比如cocoaui.yykit.qmui_ios等. 本文介绍QMUI_IOS界面框架的使用. qmui_ios,按github上的描述,这是一个致力于提高UI开发效率的解决方案. qmui_ios的官网是:http://qmuiteam.com/ios,官网详细介绍了qmui的使用跟它的功能. qmui…
一.情况 我们在开发iOS程序的时候,一般都是在模拟器上执行查看效果的. 可是,当开完完毕.须要在真机上调试怎么办? 二.官方解决的方法 苹果有为个人和企业开发人员提供调试证书和公布证书.个人版99美元吧. 购买后,发两个证书给你,你用调试证书能够在真机上进行调试. 三.万能的淘宝 无意中发如今淘宝上有出售调试证书的,价格在10元左右. 注意:该证书只能用来进行调试.不能进行公布. 但,一般开发人员开发程序都是为了公布.终于还是要付99美元,所以一般人都是直接向苹果购买两个证书. 预计这也是为什…
iOS程序进入后台运行的实现 视频中看到老师用的iOS7,代码中有开启timer,无限请求数据的功能,但是切换到后台,代码就不打印了 自己用的iOS9,进入后台还是可以打印的,再次进入前台也可以正常运行,但是功能不实现了 实现程序后台运行的方法 /** * 程序进入后台后 * * @param application */ - (void)applicationDidEnterBackground:(UIApplication *)application { // 向操作系统申请后台运行的资格,…
我们使用金融软件经常会发现手机锁屏或者长时间未操作就会退出程序或者需要重新输入密码等情况.下面让我们看一下如何实现这种功能.我们知道iOS有一个事件循环机制,也就是大家所说的runloop.我们在对程序进行手势操作时.如点击.滑动.长按.双击等都会响应对应的事件.那么我们就可以利用这个原理监听所有的屏幕事件来实现我们的功能.在程序里负责对用户事件进行处理的是UIApplication.那么如果我们想要做点什么的话,就要继承这个类.然后在里面做一些操作.好了,废话说完.下面上代码. 首先创建一个继…
元旦三天假跟妹子冷战一天半,剩下的半天觉得无聊,可以写点东西,折腾了下xCode 6.1,虽然iPhone6比较丑,但是不影响IOS在高端机上面的地位,ObjC是扩充C的面向对象编程语言.主要使用于Mac OS X和GNUStep这两个使用OpenStep标准的系统,在NeXTSTEP和OpenStep中它更是基本语言.ObjC可以在GCC以及Clang运作的系统上编写和编译,因GCC与Clang含Objective-C的编译器.1980年代初布莱德·确斯(Brad Cox)在其公司Stepst…
不管是是界面创建约束还是代码创建约束,苹果官方提供的方式都比较繁琐.所以出现了第三方框架. Masonry 在github地址如下: https://github.com/SnapKit/Masonry 如果需要通过代码手动添加约束,Masonry真的是一个不错的选择,大大增加开发效率,何乐而不为呢. Autolayout - Masonry 使用步骤 添加Masonry文件夹的所有源代码到项目中 添加2个宏.导入主头文件 // 只要添加了这个宏,就不用带mas_前缀 #define MAS_S…
苹果认可的标识符 Apple提供了各种API,以方便用户识别各种用途: 通用标识符(UDID) 在iOS的早期,苹果公司提供了一个uniqueIdentifier财产上UIDevice-亲切地称为udid (不要与UUID混淆).虽然这样的功能在今天看来是不可想象的,但该属性一直存在到IOS 5,直到它被废弃并被替换为identifierForVendor在iOS 6中. 供应商标识符(IDFV) 从IOS 6开始,开发人员可以使用identifierForVendor财产上UIDevice若要…