A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© tabor 中级黑马   /  2015-7-1 00:09  /  863 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

OC延用C的优点,特别是指针,在OC上得到了完美的体现,所有的数据不仅仅是数据,还拥有了类的一些特性,也有复杂数据类型的特殊性,完全采用地址管理的方式(点语法)对所有OC数据进行操作和管理,这造成了OC的灵活性在C的基础上大大提高,更造就了iOS开发这种高技术出现,程序员不用花费太多的心思在语法和错误纠正上,当然,OC并不是完美的,还有很多要改进的地方,所以才有了更优秀的swift的出现。这里只论OC:

除C中的数据类型外,OC在此基础上增加了几种更具划时代意义的数据:NSString字符串、NSDate日期、NSArry数组、NSDictionary字典


看到NSString就让我想到了字符串,看到NSArray就让我想到了数组,其它两种虽然陌生,但是用法与NSString和NSArray类似
说到用法,就要说下函数与方法了,函数属于文件,除不能放在类的声明中,可以到处放,定义两者是相去甚远,方法除要将返回类型与参数类型用小括号括起来外,还要在前面加个加号或减号,调用时也相去甚远,方法用起来要[类或对象 方法],看上去相对函数来说更加贴近对象,看看基础定义与用法:


@interface Car : NSObject //:表示Car 这个类是NSObject的子类
{

2 个回复

倒序浏览
@public     //加上@public 后,所有的对象都能访问,一般不加         成员变量定义; } - (void) run; @end     //这两个@语句之间就是声明了 @implementation Car //这下面两个@语句之间就是实现部分了 - (void) run {         NSLog(@"车跑起来了。"); } @end int main() {         Car* car1 = [Car new];  //创建对象car1         [car1 run];  //这样就运行了一遍方法了         return 0; } 这样看上去已经可以包含一些基本的类的声明与实现了,也有方法,但是这样还不能运行,就像C一样要用到#inlude <stdio.h>,OC要用到#import <Foundation/Foundation.h>才能算第一个程序正常,cc *.m framework foundation才能运行起来,如果看到out文件,就说明成功,运行./out就可以看到输出。  这只是一个像Hello world的程序,言归正传,数据类型定义, NS是一种通用,一定要加,否则就不是OC认识的了, NS之后的一个字母也是大写的!来看看定义和简单的用法: NSString 定义 如 NSString* str = @"hello";  //@""表示定义的是字符对象,所以也可以用一些类方法来访问,如[str length] NSArray 定义如 NSArray* array1[] = {@"hello", @"world" };也是类似,访问如: [array1 count]就可以看有多少个元素
回复 使用道具 举报
加点有点乱了,cc *.m  -framework foundation 这样才对

另外.m可以是C与OC的混合
        .mm则可以是C++与OC的混合

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马