-
Objective-C学习笔记
收藏从语言学习的角度出发,深入浅出Objective-C
最近更新文章
Objective-C学习笔记12:高级数据类型一
接上文
之前介绍过变量和数据类型,那么我们来看看Objective-C中更深层次的变量和数据类型。比如我们要初始化一个分数类,可以使用如下代码:
Fraction *fraction = [[Fraction alloc] init];
那么为了简便,我们已经将代码简化为:
Fraction *fraction = [[Fraction new];
此时,若想 ...
Objective-C学习笔记11:多态和动态类型
接上文
多态是一个典型的面向对象概念。Objective-C中的多态可以使得来自不同类的对象定义同名方法。
我们来看下面的示例,分数类Fraction我们已经多次涉及到了,我们来回顾一下我们分数类的定义:
#import <Foundation/Foundation.h>
@interface Fraction : NSObject
@proper ...
Objective-C学习笔记九:继承一
接上文
继承是面向对象的一个核心概念。在Objective-C的继承体系中,位于最顶层的根类是NSObject,类比Java中的java.lang.Object类,我们定义的所有类都是它的子类。子类也叫扩展类或派生类。
我们之前使用的分数类Fraction就是NSObject类的派生类。继承使得子类可以从父类中获得一些属性和已有方法。要注意的是如果子类中要直接使用父类继承过来 ...
Objective-C学习笔记八:类的定义二
接上文
我们继续来扩展分数类Fraction,两个分数相加,再不考虑它们是不是最简分数的情况下,有下面的公式成立:a/b+c/d=(ad+bc)/bd,那么我们在Fraction类中添加一个add方法,代码如下:
#import <Foundation/Foundation.h>
@interface Fraction : NSObject
@proper ...
Objective-C学习笔记七:类的定义一
接上文
我们还是结合之前分数的示例来说明,只是更为详尽。使用XCode创建新的项目Fraction,然后创建Fraction类,此时XCode为我们生成两个文件:Fraction.h和Fraction.m。我们在Fraction.h这个头文件中定义分数类Fraction,在Fraction.m中编写分数类的实现代码,在main.m中编写测试程序。那么在XCode中我们得到如下的项目结 ...
Objective-C学习笔记六:选择结构二
接上文
之前介绍的都是独立的if选择结构,其实if语句也可以嵌套,也就是在一个if中嵌套另一个if/if-else语句,这个嵌套的if语句可以放在if块中,也可以放在else块中,那就要看具体的业务是怎么确定的。看下面这个程序示例:
#import <Foundation/Foundation.h>
int main(int argc, const char * ...
Objective-C学习笔记五:选择结构一
接上文
选择结构,或者称为分支结构,是编程语言中程序结构的一种,它表示进行一种判断,比如进行循环的时候判断何时终止循环。
选择结构语句包括if和switch,这和其它编程语言都是一样的,表示程序中可以有的选择分支。
首先来看下if语句。if语句包括单if语句,if-else语句和if-else if语句。单if语句只是对一个条件进行判断,符合改条件时执行某语句;if- ...
Objective-C学习笔记四:循环结构
接上文
和其它编程语言一样,Objective-C也提供循环结构的语法,包括for循环,while循环和do-while循环。循环的本质就是重复一定的次数来 ...
Objective-C学习笔记三:基本数据类型和表达式
接上文
任何编程语言都会有数据类型,比如在Java中,数据类型可分为基本数据类型(如int,long等)和引用类型(类类型,如String等)。数据类型在所有语言中又是大同小异的。在O-C中我们已经见过int,那么还有三种最基本的数据类型,float,double和char。
int类型表示整数,float和double表示浮点数,只是double可以表示更大的范围,char ...
Objective-C学习笔记二:面向对象概述
接上文
从字面来理解Objective-C就是对象化的C,那么也就是说O-C是对C的扩展,加入了对象的概念。当然C++也是有对象概念的,只是两者的编译环境有所不同。
面向对象的概念不是针对某一种编程语言而言的,它是一种程序设计思想。最基本的面向对象包括了类,对象和方法这三个概念。举日常生活中的例子,比如10路公交车,10路有几十辆车,每一辆车都是一个对象,10路并不是拥有任意 ...
Objective-C学习笔记一:第一个应用程序
iOS程序是基于Objective-C语言的,可以认为iphone SDK就是O-C上的各种框架的集合,O-C是学习iOS开发的基础,从基础做起是我们的研究之道。
那么, ...