Chinaunix首页 | 论坛 | 博客
  • 博客访问: 50673
  • 博文数量: 34
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 297
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-09 10:52
文章分类

全部博文(34)

文章存档

2015年(23)

2014年(11)

我的朋友

分类: iOS平台

2015-03-17 15:03:22

1.OC在IOS开发中,主要负责UI界面。
  C/C++在IOS开发中主要是做图形处理。
2.
OC在C语言基础上增加了最小的面向对象的语法,把复杂的面向对象语法全部去掉了。

  可以在OC代码里混入C/C++代码。OC可以开发mac os平台和ios平台。

3.
OC没有包名及命名空间,取而代之的是在类前面加上前缀,如NSString中的NS

  关键字以@开头,为了防止和c/c++中的关键字冲突,如@class
  字符串也以@开头 如@"hello"
4.self相当于java中的this

  nil相当于java中的null
5.OC里面只支持单继承
6.
OC不支持垃圾回收,需要手动释放对象

7.新一版本的SDK增加了ARC功能,编译器在编译的时候,他会自动检测没用释放对象的地方,然后自动帮你增加释放对象的语句。

8.OC里面代码的扩展名是.M
9.NSLOG(),结束后自动换行,并且带有时间和项目名信息。

#import 


int main(int argc, const char * argv[]) {

    @autoreleasepool {

        // insert code here...

        NSLog(@"Hello, World!”);

        NSLog(@"Hello, World!");

    }

    return 0;


}


2015-03-17 15:22:36.828 基础1[896:303] Hello, World!

2015-03-17 15:22:36.830 基础1[896:303] Hello, World!


10.#import  包含头文件的特点是,他可以自动检测头文件有没有被重复包含,如果之前包含过的话,则不再包含。
11.
#import 

代表  Foundation框架里面的Foundation.h文件
12.OC中的类分为两个文件

.h 类的声明文件,用于变量,方法的声明

.m 类的实现文件,用于实现.h中的方法
13.
静态方法:用类名调用的方法 前面写+

动态方法:用对象调用的方法 前面写-

14.
id可以理解为代表任何对象

15.release 释放对象的方法

只能释放一次,否则会报错

16.下面是一个简单的创建类的例子
aaa.h:

#import


@interface aaa : NSObject{//成员变量都定义在了{}里面


    int age;

    int no;


}

-(int)age;

-(int)no;


-(void)setAge:(int)a setNo:(int)b;


@end



aaa.m:

#import "aaa.h"


@implementation aaa


//getAge命名不适合OC,OC命名get方法直接写为age

-(int)age{

    

    return age;


}


-(int)no{

    

    return no;

    

}


-(void)setAge:(int)a setNo:(int)b{


    age = a;

    no  = b;

    

    return ;

    

}


@end


main.m:

#import


#import "aaa.h"//需要用到aaa对象,就得引用aaa.h


int main(int argc, const char * argv[]) {

    @autoreleasepool {

        

        //创建一个aaa对象

        //调用静态方法alloc来分配内存

        aaa *a1 = [aaa alloc];

        

        //调用动态方法init来进行初始化

        a1 = [a1 init];

        

        //为了方便可以写成下面这样

        aaa *a2 = [[aaa alloc] init];

        

        [a1 setAge:20 setNo:1];

        int x = [a1 age];

        int y = [a1 no];

        

        NSLog(@"age--%d,no--%d",x,y);

        

        //会报错,因为ARC已经自动添加了释放的语句。

        //[a2 release];

        //[a1 release];

        

    }

    return 0;

}




阅读(530) | 评论(0) | 转发(0) |
0

上一篇:如何自己编写Makefile

下一篇:OC入门篇2

给主人留下些什么吧!~~