【技术分享会】 @第六期 iOS开发基础

前言
iOS之前被称为 iPhone OS,是一个由苹果公司开发的移动操作系统。
iOS的第一个版本是在2007年发布的,其中包括iPhone和iPod Touch。
iOS开发工具:Xcode
运行环境:mac
Xcode
Xcode 是苹果公司的集成式开发环境(IDE),可以同时用来开发 iOS 和 Mac OS X 应用程序。当你在 Mac 电脑上安装 Xcode 之后,同时也会安装 iOS SDK,其中包含了 iOS 平台开发所需的接口等。
面向对象
为什么要用面向对象?
为了模拟现实世界
什么叫做面向对象?
面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物
面向对象编程的特征
封装
继承
多态 封装:就是是将一个类的使用和实现分开,只保留部分接口和方法与外部联系
好处:
.将变化隔离;.便于使用。.提高重用性。.提高安全性。 继承:子类自动继承其父级类中的属性和方法,并可以添加新的属性和方法或者对部分属性和方法进行重写。继承增加了代码的可重用性 多态:多个子类中虽然都具有同一个方法,但是这些子类实例化的对象调用这些相同的方法后却可以获得完全不同的结果,多态性增强了软件的灵活性
引用计数
每个对象有一个整数值,这个整数值与对象本身关联,称为引用计数器 当某些地方需要使用这个对象时,可以将引用计数器加1,表示需要使用这个对象 使用完毕之后,将该对象的保留计数器值减1,表示该对象已经使用完毕 如果引用计数器值为0时,表明没有地方再使用该对象,这时系统将销毁该对象,其所占用内存被收回,以便重用
Objective-C优缺点
一、优点
.Category是非常实用的扩展机制,可以很方便的为一个已有的类添加属性或者方法,而不需要笨拙的去继承。
.运行时多态。(关于多态的理解,ppt最后一页)
.ARC
.OC中成员变量也有三种访问权限,@public,@protected,@private。但默认的是@protected
.OC中成员函数只有两种,一种是实例函数,一种是类函数。实例函数就是C++中的Public函数,类函数就是public中的static函数
.OC中成员函数如果要接受多个参数,则需要每个参数前加冒号。例如-(
int ) Set : ( int ) A : ( int ) B ;每个形参前还可以加一个参数名,并成为函数名的一部分。例如-( int ) Set : ( int ) A And : ( int ) B;在使用时[ classTest Set : And : ]; 起
.OC中还多了一个id类型,id就是指针.
.OC不是一个过度复杂的C 衍生语言
.OC还有protocol概念。protocol实际是一组函数,支持改协议的类都应重写这些函数。通过@protocol-@end来声明protocol。类中通过<protocol1,protocol2,...>来表示支持某个协议。如@interface
A : Object < NSCopying, NSTransform >-@end表明类A继承与Object类,并支持两个协议(NSCopying, NSTransform )。 二、缺点
.不支持多重继承,只有多级继承
.使用动态运行时类型,所有的方法都是函数调用
ppt资料共享 http://pan.baidu.com/s/1pKZeqgF
【技术分享会】 @第六期 iOS开发基础的更多相关文章
- IOS开发基础知识碎片-导航
1:IOS开发基础知识--碎片1 a:NSString与NSInteger的互换 b:Objective-c中集合里面不能存放基础类型,比如int string float等,只能把它们转化成对象才可 ...
- iOS开发——总结篇&IOS开发基础知识
IOS开发基础知识 1:Objective-C语法之动态类型(isKindOfClass, isMemberOfClass,id) 对象在运行时获取其类型的能力称为内省.内省可以有多种方法实现. 判断 ...
- IOS开发基础环境搭建
一.目的 本文的目的是windows下IOS开发基础环境搭建做了对应的介绍,大家可根据文档步骤进行mac环境部署: 二.安装虚拟机 下载虚拟机安装文件绿色版,点击如下文件安装 获取安装包: ...
- iOS开发基础-九宫格坐标(6)
继续对iOS开发基础-九宫格坐标(5)中的代码进行优化. 优化思路:把字典转模型部分的数据处理操作也拿到模型类中去实现,即将 ViewController 类实现中 apps 方法搬到 WJQAppI ...
- iOS开发基础-九宫格坐标(5)
继续在iOS开发基础-九宫格坐标(4)的基础上进行优化. 一.改进思路 1)iOS开发基础-九宫格坐标(4)中 viewDidLoad 方法中的第21.22行对控件属性的设置能否拿到视图类 WJQAp ...
- iOS开发基础-九宫格坐标(4)
对iOS开发基础-九宫格坐标(3)的代码进行进一步优化. 新建一个 UIView 的子类,并命名为 WJQAppView ,将 appxib.xib 中的 UIView 对象与新建的视图类进行关联. ...
- iOS开发基础-九宫格坐标(3)之Xib
延续iOS开发基础-九宫格坐标(2)的内容,对其进行部分修改. 本部分采用 Xib 文件来创建用于显示图片的 UIView 对象. 一.简单介绍 Xib 和 storyboard 的比较: 1) X ...
- iOS开发基础-九宫格坐标(2)之模型
在iOS开发基础-九宫格(1)中,属性变量 apps 是从plist文件中加载数据的,在 viewDidLoad 方法中的第20行.26行中,直接通过字典的键名来获取相应的信息,使得 ViewCont ...
- iOS开发基础-图片切换(4)之懒加载
延续:iOS开发基础-图片切换(3),对(3)里面的代码用懒加载进行改善. 一.懒加载基本内容 懒加载(延迟加载):即在需要的时候才加载,修改属性的 getter 方法. 注意:懒加载时一定要先判断该 ...
随机推荐
- Maven构建自动化
构建自动化定义相关工程项目构建过程中,在当项目构建成功完成启动的情况下,来确保所依赖的项目是稳定的. 实例 考虑一个团队正在开发一个项目总线核心API上的其他两个项目的应用程序:网页UI和应用程序的桌 ...
- e796. 设置JSlider的方向
Besides being either horizontal or vertical, a slider can also be inverted. An inverted horizontal s ...
- php 序列化与反序列化
<?php //声明一个类 class dog { var $name; var $age; var $owner; function dog($in_name=",$in_owner ...
- C#基础---------------C#正则表达式2
C#正则表达式语法规则详解 正则表达式基础知识 一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式. 字母文本指的是普通文本如"a ...
- (原)从mp4,flv文件中解析出h264和aac,送解码器解码失败
转载请注明出处:http://www.cnblogs.com/lihaiping/p/5285166.html 今天在做本地文件解码测试,发现从mp4,flv文件中读出来的帧数据,h264和aac帧直 ...
- MySQL中mysqldump导出数据的使用
mysqldump常用参数说明: 帮助使用:mysqldump --help -A, --all-databases 导出全部数据库 mysqldump -uroot -p –A > /tmp/ ...
- iOS: UIScrollView pauses NSTimer while scrolling
StackOverflow http://stackoverflow.com/a/7059499 Question:I have a UIScrollView that has a series of ...
- XCODE 添加不同IOS版本的模拟器
一.XCode->Preferences->Downloads, 可以下载模拟器.
- [转]linux下lame的使用
找到這篇好文章,不得不说開源的Lame功能很強大 linux下lame的使用 % lame [参数] <输入文件名> [<输出文件名>] 如需查询更多参数,可输入下列命令: % ...
- datatable删除一行方法
t.row($(e).parents('tr')[0]).remove().draw(false); t为定义的datatable对象,row里面传入当前行的DOM元素.