iOS学习(OC语言)知识点整理

一、OC基础知识

1)#import  用于导入头文件,预处理阶段加载引用,只加载一次。

2)OC 依赖于Foundation框架下的头文件Foundation.h,此文件必须引用加载。

3)相较于C语言的导入头文件,头文件需要加上条件编译(#ifndef #define  #endif):防止头文件被多次包含

4)OC中关键字前面添加@符,字符串前面也需添加@符。

5)@autoreleasepool自动释放池:应用程序执行的语境,好处:应用程序会自动对内存进行管理

6)NSLog是OC中的输出函数,类似于C中printf,区别于printf,可以显示进程信息和时间,会自动换行,

输出显示格式为   NSLog(@"%@人民解放军","中国");//结果:中国人民解放军

7).h 文件中interface声明一个类,后面是类名(:NSOjbect   表示继承父类NSObject)@end表示类声明结束

8)interface 用于声明类 默认是@protected (受保护的成员);@interface中只能写方法的声明(不能写实现)

9).m文件内 @implementation中只能写方法的实现(不能写声明)

10)类的访问级别说明

1、@public 公有的成员,本类的成员方法,和其他的方法都可以访问

2、@protected  保护型的成员,本类和本类的子类的方法可以访问

3、@private 私有的成员,只能被本类的方法访问

4、@package  处于同一个框架中可以访问,介于private和public之间

11)类的命名规范遵循驼峰命名原则。

12)方法的声明,默认的是public方法;声明格式:+/- (返回类型) 方法名:参数

1、-(减号)声明的方法为实例方法,只能通过实例调用,可直接操作成员变量。

2、+(加号)声明的方法为类方法,只能用类名调用,不可直接操作成员变量,需要用self点出成员变量。

3、实例方法可以和类方法同名。

13)类实例化的两种方法

1、使用 alloc、init方法 例如:  Person *p=[[Person alloc]init];  alloc表示为对象在堆中开辟一片内存空间;init 表示初始化类对象。

2、使用new关键字,例如: Person *p=[Person new];  一般不建议使用此方法。

14)set和get方法的使用

1、set方法用于给某个成员变量赋值,一般以set开头,接着变量名,带一个参数,参数类型与成员变量类型相同,没有返回值。

2、get方法用于获取某个成员变量的值,是实例方法,一般与成员变量名相同,(可以不加get在方法前面),没有参数,有返回类型,返回类型与成员变量的类型相同。

15) 带多个参数的方法的使用;+/-(返回类型)标识符:(参数类型)参数名 标签名:(参数类型)参数 名…;第一个参数以后的

参数建议添加标签名,可增强代码 的可读性;不添加即为匿名标签. 例如:  -(void)setName:(NSString *)name andAge:(int)age ;

16)实例方法与类方法的区别

1、实例方法之间可以使用self互相调用,类方法不可以。

2、实例方法可以操作成员变量,类方法不可以。

3、类方法调用直接用类名,不需要另外构建实例。

17)self 表示当前对象/类(self在实例方法中指当前对象,在类方法中指当前类);可以访问当前对象的成员变量.

iOS 阶段学习第11天笔记(OC基础知识)的更多相关文章

  1. iOS 阶段学习第22天笔记(JSON数据格式介绍)

    iOS学习(OC语言)知识点整理 一.JSON数据格式 1)概念:json是一种网络数据传输格式,有值/对象:{“A”:1,”B”:”2”…}词典:对象的序列:[,,,,,]数组两种数据类型 2)UR ...

  2. iOS 阶段学习第25天笔记(iOS沙盒机制介绍)

    iOS学习(OC语言)知识点整理 一.iOS沙盒机制介绍 1)概念: 每个ios应用都有自己的应用沙盒,应用沙盒就是文件系统目录,与其他应用放入文件 系统隔离,ios系统不允许访问 其他应用的应用沙盒 ...

  3. iOS阶段学习第20天笔记(MRC内存管理)

    iOS学习(OC语言)知识点整理 一.OC中的内存管理 1)概念:内存管理的对象为所有继承了NSObject的对象,对基本数据(如:int .float.double...)无效      OC中采用 ...

  4. iOS阶段学习第19天笔记(协议-Protocol)

    iOS学习(OC语言)知识点整理 一.关于协议(Protocol)的介绍 1)概念:协议指多个对象之间协商的一个接口对象,协议提供了一些方法用在协议的实现者和代理者      之间通讯的一种方式 2) ...

  5. iOS阶段学习第17天笔记(NSFileManager-NSFileHandle-文件操作)

    iOS学习(OC语言)知识点整理 一.单例模式 1)单例是一种编程思想,一个设计模式,与语言无关在采用了单例对象的应用程序中,需要单例类自行提供实例化单例对象, 不管实例化单例对象多少次,只有一个对象 ...

  6. iOS阶段学习第15天笔记(NSArray与NSMutableArray 数组)

    iOS学习(OC语言)知识点整理 一.OC中的数组 1)数组:也是一个对象,数组中存放的是对象的地址,可以存放任意类型对象的地址,只能是对象不能是具体的数值,数组是有序的,      可以存放重复的元 ...

  7. iOS阶段学习第14天笔记(NSString与NSMutableString)

    iOS学习(OC语言)知识点整理 一.OC字符串的操作 1)OC中字符串分为两种: 1.不可变字符串NSString:不能修改对象内容,但是可以改变对象的指针. 2.可变字符串NSMutableStr ...

  8. iOS 阶段学习第七天笔记(函数、递归)

     iOS学习(C语言)知识点整理笔记 一.函数 1)概念:具有特定功能的代码块的封装 2)函数的定义: 函数类型+函数名(形参列表) 函数类型 函数名(形参类型1  形参名1,形参类型2   形参名2 ...

  9. iOS阶段学习第四天笔记(循环)

    iOS学习(C语言)知识点整理笔记 一.分支结构 1.分支结构分为单分支 即:if( ){ } ;多分支 即:if( ){ }else{ }  两种 2.单分支 if表达式成立则执行{ }里的语句:双 ...

随机推荐

  1. [ACM_贪心] Radar Installation

    http://acm.hust.edu.cn/vjudge/contest/view.action?cid=28415#problem/A 题目大意:X轴为海岸线可放雷达监测目标点,告诉n个目标点和雷 ...

  2. C#高级一

    1.单例模式:又叫单件模式,属于创建型模式分类.实际上讲,一个对象只允许创建一个实例,并且提供了一个全局的访问点.  (静态方法生命周期长,消亡时间短,GC不回收) ================= ...

  3. Java使用snakeyaml解析yaml

    YAML Yaml是一种"是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言."类似于XML但比XML更简洁,语法详见 http://www.ruan ...

  4. Atitit j2ee5 jee5 j2ee6 j2ee7 jee6 jee7 新特性

    Atitit j2ee5 jee5 j2ee6 j2ee7 jee6 jee7 新特性 Keyword Java ee5 ,Java ee6,Java ee7  j2ee5 jee5 j2ee6 j2 ...

  5. KnockoutJS 3.X API 第四章 数据绑定(4) 控制流with绑定

    with绑定的目的 使用with绑定的格式为data-bind="with:attribute",使用with绑定会将其后所跟的属性看作一个新的上下文进行绑定.with绑定内部的所 ...

  6. Java 线程 — ThreadLocal

    ThreadLocal 先来看看ThreadLocal的注释: This class provides** thread-local variables**. These variables diff ...

  7. JavaScript实现DDoS攻击原理,以及保护措施。

    DDos介绍 最普遍的攻击是对网站进行分布式拒绝服务(DDoS)攻击.在一个典型的DDoS攻击中,攻击者通过发送大量的数据到服务器,占用服务资源.从而达到阻止其他用户的访问. 如果黑客使用JavaSc ...

  8. ASP.NET MVC TagBuilder使用

    ASP.NET MVC在需要进行新建HTML辅助方法时,可以来使用TagBuilder类. TagBuilder类常用方法: 方法名称 说明 AddCssClass() 可在卷标中添加一个新的Clas ...

  9. HTML5之废弃和更新的元素与属性

    废弃的元素和属性 [1]标签替换 <acronym> 替代:<abbr> <applet> 替代:<embed> 或 <object> &l ...

  10. poj 1905Expanding Rods

    /* 二分 + 几何 弧长L, 圆半径R, 弧度 q, L=R*q; 二分: 弧度(0~PI) 或者 高度(L/2~L) */ #include<cstdio> #include<i ...