
iOS开发基础篇
文章平均质量分 77
Jack.GS
因为苹果,所以iOS。
这是一个有空写写的软件开发博客。
展开
-
iOS UIKit Dynamics使用方法
UIkit Dynamics是从iOS 7开始支持的,其实就是UIKit的一套动画和交互体系,让UIView视图能够模拟逼真的现实世界的逼真物理行为效果,实现诸如物理在重力下落或者两个物体碰撞的逼真效果,本质上这是苹果开发的一个简单的动画物理引擎,使得APP操作起来更加真实,相对于一些更加专业的游戏物理引擎如unity3D,Dynamics用更加简单的API实现这些动态效果。原创 2017-01-15 10:10:19 · 650 阅读 · 0 评论 -
iOS 开发技术栈与进阶
iOS 开发技术栈与进阶原创 2017-03-08 15:40:51 · 997 阅读 · 0 评论 -
iOS JSON返回的数据有NSNull导致程序崩溃及ios nil、NULL和NSNull的区别
在从服务器后台获取的返回数据中,经常会有空数据,也就是NSNul类型的数据,当我们处理它时就会出现[NSNull isEqualToString:]: unrecognized selector sent to instance 这个错误。此时可以为返回后解析出来的NSDictionary对象的NSNull数据转换为@“”,通用的方法是为NSDictionary添加分类。原创 2017-01-17 15:42:39 · 4411 阅读 · 1 评论 -
iOS 导航控制器、导航条、导航项、控制器的关系
UINavigationController:容器,使用栈的形式存储和管理多个UIViewController,每一个UIViewcontroller就是一个层级页面,导航控制器每次只显示其存储的位于最上面的UIViewcontroller;UINavigationBar:容器,位于屏幕顶端的控件,与UINavigationController一对一对应,它继承UIView,使用栈的形式存储和管理多个UINavigationItem,导航条上每次只显示其存储的位于最上面的UINavigationItem;原创 2017-01-18 20:20:28 · 1638 阅读 · 0 评论 -
iOS GameKit蓝牙通信以及自定义cell的使用--实现仿微信聊天功能
利用GameKit框架实现ios设备的蓝牙通讯,导入框架:#import <GameKit/GameKit.h> , 注意: 此框架只能用于ios设置间蓝牙通讯。如今苹果开放了接口来实现不仅限于在苹果设备间的蓝牙通讯,需要导入框架:#import <CoreBluetooth/CoreBluetooth.h>,此框架可以用在苹果设备间、苹果设备与各种符合苹果MFI认证的智能硬件的蓝牙通信。以一个简单的APP聊天功能作为示例,讲解使用GameKit的蓝牙通信功能以及UITableView的自定义cell原创 2017-01-20 10:51:17 · 658 阅读 · 0 评论 -
iOS 沙盒目录结构解析
出于安全考虑,iOS系统的沙盒机制规定每个应用都只能访问当前沙盒目录下面的文件(也有例外,比如系统通讯录能在用户授权的情况下被第三方应用访问),这个规则把iOS系统的封闭性展现的淋漓尽致。转载 2017-02-26 13:17:26 · 336 阅读 · 0 评论 -
iOS 面向对象编程的三大特征
对象是由数据和容许的操作组成的封装体,与客观实体有直接对应关系,一个对象类定义了具有相似性质的一组对象。而每继承性是对具有层次关系的类的属性和操作进行共享的一种方式。所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。原创 2017-03-13 21:13:36 · 1534 阅读 · 0 评论 -
iOS APP开发项目案例(仿探探优化)--FaceFriend
APP的主要功能有三点:1.美颜相机;2.相册分类管理;3.基于相册分类、用户标签及用户行为的人物画像的社交功能。优图人脸识别、图片标签识别、基于人物画像和地理位置的精准推荐社交、ios开发的聊天功能、ios开发的分享功能、ios开发的账号注册、找回密码功能、ios自定义相机功能、ios相册管理功能等。原创 2016-10-21 21:56:24 · 6651 阅读 · 1 评论 -
iOS Runtime原理及使用
RunTime简称运行时。OC就是运行时机制,其中最主要的是消息机制。对于C语言,函数的调用在编译的时候会决定调用哪个函数。对于OC的函数,属于动态调用过程,在编译的时候并不能决定真正调用哪个函数,只有在真正运行的时候才会根据函数的名称找到对应的函数来调用。原创 2017-02-19 16:53:41 · 486 阅读 · 0 评论 -
iOS ”打仙人掌“游戏一---游戏玩法实现
“打仙人掌”游戏是个简单的“打狗熊”类游戏。在手机画面的沙丘里,不断有仙人掌跳出来,玩家必须尽量快得去拍打跳出来的仙人掌,每拍打一个仙人掌得分加1,如果在限制的时间内没有把跳出来的仙人掌拍打回去,玩家的生命数将减1,生命数为0时游戏结束。随着玩家的分数的增加,游戏的难度会不断的增加,即跳出来的仙人掌的频率越来越快。原创 2017-01-16 09:12:22 · 911 阅读 · 0 评论 -
iOS 使用NSURLConnection连接服务器和JSON作为数据交换方式
JSON是一种轻量级的在服务器、网站和APP之间发送数据的极佳的方式,相比较于XML,JSON更加轻量级、网络效率更高、带宽要求更低使用iOS对JSON的支持(如苹果官方的NSJSONSerialization、第三方的SBJSON和JSONKit),可以很轻松的在iOS项目中集成JSON。JSON语法简单直观,JSON文档可以直接包含字典对象和数组对象。原创 2017-01-18 14:22:14 · 417 阅读 · 0 评论 -
iOS 框架类关系图及iOS对象详解
Cocoa是OS X和 iOS操作系统的程序的运行环境,在iOS正确的说法是Cocoa Touch。是什么因素使一个程序成为Cocoa程序呢?不是编程语言,因为在Cocoa开发中你可以使用各种语言;也不是开发工具,你可以在命令行上就可以创建Cocoa程序。Cocoa程序可以这么说,它是由一些对象组成,而这些对象的类最后都是继承于它们的根类 :NSObject。而且它们都是基于Objective-C运行环境的。iOS中,Cocoa众多框架中最重要最基本的两个框架是:Foundation 和 UIKit。转载 2017-02-09 10:25:51 · 2341 阅读 · 0 评论 -
《Object-C》编程全解笔记一
Object-C编程全解笔记:第二章Object-C程序设计,第三章类和继承,第四章对象的类型和动态绑定......原创 2017-02-12 10:41:17 · 1067 阅读 · 0 评论 -
OC中栈和堆内存区别解析
为什么OC对象需要进行内存管理,而其它非对象类型比如基本数据类型就不需要进行内存管理呢?因为:Objective-C的对象在内存中是以堆的方式分配空间的,并且堆内存是由你释放的,就是release;OC对象存放于堆里面(堆内存要程序员手动回收),非OC对象一般放在栈里面(栈内存会被系统自动回收);堆里面的内存是动态分配的,所以也就需要程序员手动的去添加内存、回收内存。原创 2017-02-12 12:24:16 · 3115 阅读 · 0 评论 -
iOS 字典转模型高级实现
字典跟模型的优缺点比较:1>字典在使用key的时候Xcode不会有提示,容易出错,模型就不会2>①所谓模型,其实就是数据模型,专门用来存放数据的对象,用它来表示数据会更加专业②模型设置数据和取出数据都是通过它的属性,属性名如果写错了,编译器会马上报错,因此,保证了数据的正确性③使用模型访问属性时,编译器会提供一系列的提示,提高编码效率转载 2017-02-19 19:13:32 · 266 阅读 · 0 评论 -
iOS 对象之间的通信方式(delegate、block、NSNotification、kvc、kvo)总结
有五种方式:delegate(代理)、block(代码块)、NSNotification(通知)、kvc(键-值编码)、kvo(键值观察模式)原创 2017-02-15 17:27:35 · 1055 阅读 · 0 评论 -
iOS 自定义抽屉式效果--ViewDeck(SlidingDrawer)实现与使用详解
本实现抽屉式效果的框架相对gitHub里的IIViewDeck,更加简单易用,实现代码简单,效果好,可以无需修改原项目的任何框架而将本效果无缝式移植进现有的项目中。原创 2016-10-27 16:58:40 · 2525 阅读 · 1 评论 -
iOS 类继承时self和super调用方法的问题
如果想在一个方法中调用当前类的方法,可以使用self,如果调用当前类的父类的方法,可以使用super。如果在这些类中存在继承关系的时候,使用self和super调用方法的时候需要格外注意。原创 2017-02-09 16:45:27 · 2660 阅读 · 1 评论 -
CocoaPods安装和使用教程
CocoaPods是什么?如何下载和安装CocoaPods?如何使用CocoaPods?转载 2017-02-23 23:31:01 · 363 阅读 · 0 评论