乐趣区

关于objective-c:objectivec入门

一. objective- c 简介

Objective-Objective- C 是 C 语言的严格超集--任何 C 语言程序不经批改就能够间接通过 Objective- C 编译器,在 Objective- C 中应用 C 语言代码也是齐全非法的。Objective- C 被形容为盖在 C 语言上的薄薄一层,因为 Objective- C 的原意就是在 C 语言主体上退出面向对象的个性。

扩展名 内容类型
.h 头文件。头文件蕴含类,类型,函数和常数的申明。蕴含头文件时,#import 选项和 #include 选项完全相同,只是它能够确保雷同的文件只会被蕴含一次。
.m 源代码文件。这是典型的源代码文件扩展名,能够蕴含 Objective-C 和 C 代码。
.mm 源代码文件。带有这种扩展名的源代码文件,除了能够蕴含 Objective- C 和 C 代码以外还能够蕴含 C ++ 代码。仅在你的 Objective- C 代码中的确须要应用 C ++ 类或者个性的时候才用这种扩展名。

二. 语法

1. 字符串

大多数 Objective- C 通常不应用 C 语言格调的字符串。反之,大多数框架把字符串传递给 NSString 对象。NSString 类提供了字符串的类包装,蕴含了所有你冀望的长处,包含对保留任意长度字符串的内建内存管理机制,反对 Unicode,printf 格调的格式化工具

NSString* myString = @"My Stringn"; 
NSString* anotherString = [NSString stringWithFormat:@"%d %s", 1, @"String"];
2. 类

Objective-C 的类规格阐明蕴含了两个局部:定义(interface)与实现(implementation)。定义(interface)局部蕴含了类申明和实例变量的定义,以及类相干的办法。实现(implementation)局部蕴含了类办法的理论代码。

  • interface

    定义局部,分明定义了类的名称、数据成员和办法。以关键字 @interface 作为开始,@end 作为完结

    @interface MyObject : NSObject { 
        int memberVar1; // 实体变量 
        id  memberVar2; 
    } 
    +(return_type) class_method; // 类办法 
    -(return_type) instance_method1; // 实例办法 
    -(return_type) instance_method2: (int) p1; 
    -(return_type) instance_method3: (int) p1 andPar: (int) p2; 
    @end
    // 办法后面的 +/- 号代表函数的类型:加号(+)代表类办法(class method),不须要实例就能够调用,与 C ++ 的动态函数(static member function)类似。减号(-)即是个别的实例办法(instance method)。
    //Objective- C 定义一个新的办法时,名称内的冒号(:)代表参数传递,不同于 C 语言以数学函数的括号来传递参数。Objective- C 办法使得参数能够夹杂于名称两头,不用全副附缀于办法名称的尾端,能够进步程序可读性。设定色彩 RGB 值的办法为例:- (void) setColorToRed: (float)red Green: (float)green Blue:(float)blue; /* 宣告办法 */
     [myColor setColorToRed: 1.0 Green: 0.8 Blue: 0.2]; /* 呼叫办法 */
    // 这个办法的签名是 setColorToRed:Green:Blue:。每个冒号前面都带着一个 float 类别的参数,别离代表红,绿,蓝三色。
  • Implementation

    实现区块则蕴含了公开办法的实现,以及定义公有(private)变量及办法。以关键字 @implementation 作为区块起头,@end 结尾。

    @implementation MyObject {int memberVar3; // 公有實體變數}
    +(return_type) class_method {... //method implementation}
    -(return_type) instance_method1 {...}
    -(return_type) instance_method2: (int) p1 {...}
    -(return_type) instance_method3: (int) p1 andPar: (int) p2 {...}
    @end
  • 创建对象

    Objective- C 创建对象需通过 alloc 以及 init 两个音讯。alloc 的作用是分配内存,init 则是初始化对象。

    MyObject * my = [[MyObject alloc] init];
    MyObject * my = [MyObject new];
退出移动版