iOS学习笔记--OC系列(1)
前言
从学校毕业进入公司工作已经第3个年头了,回顾这3年的经历,有种迷茫的感觉。在公司我主要是做零售业公司的系统维护,接触的主要是Oracle的Database的东西。但是业务知识和oracle,都没怎么学好。感到虚度光阴的同时,我感觉到了危机感。所以给自己定了一个目标”学好iOS和Oracle Database“。为什么学iOS呢?那是因为身为一个苹果迷,非常喜欢苹果的产品,希望拥有自己开发的App。Oracle Database是工作中能经常接触的,希望更上一层楼。
为了记录自己的学习经历,昨天在博客园里申请了博客。希望在分享学习经历的同时,更能得到各路牛人的指点。
Objective-C(1)
网上看过好多iOS的学习经验分享,大致都都是C语言->OC->UI->App的流程。大学的时候上过C语言的课,所有我就直接从OC开始学习了。OC学习方法主要是看视频和看书。然后自己的学习规则是敲边能看到的每条代码。
头文件
每段代码都是从头文件开始的。用C写Hello world!的时候,头文件是下面这么写的。为了使用printf()这样自带的函数,头文件的导入是必须的
#include <stdio.h>
OC中也有printf()一样功能的函数,OC版的打印函数是NSLog(),同样为了使用它,代码需要导入下面头文件
#import <Foundation/Foundation.h>
include和import的最大区别是光使用include导入自定义文件时,有可能产生重复导入同一个头文件的情况。而在使用import的时候是不需要担心这个问题。自己防止文件的内容被重复拷贝
类和对象
类 :对象的描述。把具有相同或者相似特征和行为的对象抽象化成类,例:人(长腿男人,漂亮女人,说外星语的火星人都可以抽象成人)
对象:类的实例化。OC中要想创建对象,首先必须要有类。例:身高1.75m(特征),会做饭(行为)的男(特征)人
类的创建
用Xcode创建类的时候,会出现2个文件.h文件和.m文件。
- .h文件 :类的声明文件
- .m文件:类的实现文件
类的声明
这个文件(.h)内需要定义类的名字,类的属性和类的行为(方法)。例:
@interface Person : NSObject
{
int nationality;//属性
}
- (void)speek;//(返回值)方法名
@end
- 类的名字:Person
- 类的属性:nationality
- 类的行为:speek
类的实现
这个文件(.m)内需要写具体怎么实现类的方法。例:
#import "Person.h"
@implementation Person
- (void)speek
{
NSLog(@"我会说日语");
}
@end
这里写的就是speek方法的具体实现。例子里面speek方法就是打印“我会说日语”。
总结
这回主要学习了类的创建,类和方法这些概念是C语言里没有的。方法的声明和定义虽然跟C语言里的函数很相似,有返回值,有函数名,但是具体的用法不同。下回继续深入类和方法使用的学习。
iOS学习笔记--OC系列(1)的更多相关文章
- iOS学习笔记---oc语言第五天
字典,数组 ,集排序 一.字典类 存储以下数据 name:张三; sex:男;age:18 film:风暴; playcount:10000次;price:60元 字典类用于保存具有映射关系(key- ...
- iOS学习笔记---oc语言第四天
字符串 数组 一.使用苹果帮助文档 学会使⽤用苹果帮助⽂文档是开发者的⼀一项技能 Inherits from 继承⾃自 Conforms to 遵循什么协议 Framework 属于哪个框架 Avai ...
- iOS学习笔记---oc语言第三天
继承.初始化方法 一.继承 继承的上层:父类 继承的下层:子类 继承是单向的,不能相互继承 继承具有传递性:A继承于B,B继承于C,A具有B和C的特征和行为 子类能继承父类全部的特征和行为(私有变量 ...
- iOS学习笔记---oc语言第一天
第一讲 初始类和对象 c语言的超集,允许在oc中使用c语言源代码.编译器兼容c语言程序 具备完善的面向对象特性 包含一个运行时系统 类库丰富 面向对象编程 oop 面向对象语言:c++ java ...
- iOS学习笔记---oc语言第九天
初级内存管理 iOS应用程序出现crash(闪退),90%以上是内存问题////其他:数组越界,方法只声明没实现 内存问题体现在两个方面:内存溢出\野指针异常 内存溢出:程序运行超出内存上限 野指针异 ...
- iOS学习笔记---oc语言第六天
Block .数组高级 block本质上就是匿名函数(没有名称的函数) block语法和函数指针很相似 回顾函数 函数:C语⾔中,实现某一类功能的代码段. 完整的函数包含两部分:函数声明.函数定义 函 ...
- iOS学习笔记---oc语言第二天
实例变量与方法 一.实例变量的可见度 二.方法 oc中的方法分两种:类方法和实例方法 类方法:只能类使用 eg:+ (id)alloc 注:类方法中不能使用实例变量 实例方法:只能对象使用,eg:- ...
- iOS学习笔记---oc语言第十天
内存管理高级 一 属性的内部实现原理 assign retain copy assign 下的属性内部实现 setter方法 @property(nonatomic,assign)NSS ...
- iOS学习笔记---oc语言第八天
属性 能在一定程度上简化代码,并且增强实例变量的访问安全性 属性的声明:使用@property声明属性 eg:@property NSSstring *name;相当于@interface中声明了两 ...
随机推荐
- Android获取联系人示例,从数据库加载,带首字母标签
这几天打算学习下Android联系人方便的一些东西,之前稍有涉略,不过每次都是浅尝辄止. 推荐国内两个Link: http://fanfq.iteye.com/blog/779569 http://w ...
- [Ember] Ember.js Templates
In this lesson, we'll go over some of the basics of Ember.js templates and how they work with contro ...
- iOS开发——UI篇Swift篇&玩转UItableView(四)自定义&封装
UItableView自定义&封装 一:Model class AppsModel: NSObject { //定义模型的三个属性 var imageName:String! //图片名称 v ...
- Category目录
Category目录 目录 概述——对Category的理解 创建Category Category的用途 概述——对Category的理解 当我们想往原有的类中添加新的成员方法但又不想改变原有的类和 ...
- h5-5 canvas
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Sleep v.s. sleep
Sleep函数_百度百科 http://baike.baidu.com/link?url=EmOxsG_du8HdLbv_9nDVlahpZOQ6DgkoLKooQInorAqIl_CEhCvBzTC ...
- css中postion的fixed与absolute区别详解
fixed:固定定位,参照位置是浏览器窗口的左上角,即坐标点为(0px, 0px) absolute:绝对定位,参展位置是离当前元素最近的定位方式为fixed,absolute,relative的祖先 ...
- tar备份工具
一.tar命令的基本格式 在UNIX.Linux系统中,有许多命令可以用于备份数据,其中最常见的命令是tar命令..tar是UNIX和Linux系统中的打包工具,可以将多个文件或目录打包(也称为归档) ...
- oracle 回车、换行符
1.回车换行符 chr(10)是换行符,chr(13)是回车, 增加换行符 select ' update ' || table_name || ' set VALID_STATE ='' ...
- jquery 动态事件绑定(0512)
jquery动态事件绑定,父元素需为静态元素,(不能是动态生成): $("#parent").on("click","#child",fun ...