| 在c语言中 我们在控制台输出信息是用printf()   Java语言则是 System.out.println() 而Objective-C  则是用 NSLog();
 
 1 减号(或者加号)
 
 减号表示一个函数、或者方法、或者消息的开始,怎么说都行。
 
 不过在Objective-C里面没有public和private的概念,你可以认为全是public。
 
 而用加号的意思就是其他函数可以直接调用这个类中的这个函数,而不用创建这个类的实例。
 
 2 中括号
 
 中括号可以认为是如何调用你刚才写的这个方法,通常在Objective-C里说“消息”。
 
 比如C#里你可以这么写:
 
 this.hello(true);
 
 在Objective-C里,就要写成:
 
 [self hello:YES];
 
 1、#import    引入一次  (注意:在与c++共用的文件里,   c++用到的头文件要写到,h文件里,oc用到的头文件写到.mm文件里。。)
 
 2、@interface等等
 
 
 
 创建类:
 
 头文件里:
 
 @interface Kids: NSObject {
 
 NSString *kidName;
 
 NSString *kidAge;
 
 }
 
 -(BOOL) isCaughtKid:;
 
 @end
 
 .m实现文件里
 
 #import “kids.h”
 
 @implementation Kids
 
 -(void) init {
 
 kidName=@”mykid”;
 
 kidAge=@”15”;
 
 }
 
 -(BOOL) isCaughtKid:{
 
 return YES;
 
 }
 
 @end
 
 问题三、一个方法如何传递多个参数?
 
 一个方法可以包含多个参数,不过后面的参数都要写名字。
 
 多个参数的写法
 
 (方法的数据类型) 函数名: (参数1数据类型) 参数1的数值的名字 参数2的名字: (参数2数据类型
 
 ) 参数2值的名字 …. ;
 
 举个例子,一个方法的定义:
 
 -(void) setKids: (NSString *)myOldestKidName secondKid: (NSString *) mySecondOldestKidName thirdKid: (NSString *) myThirdOldestKidName;
 
 实现这个函数的时候:
 
 -(void) setKids: (NSString *)myOldestKidName secondKid: (NSString *) mySecondOldestKidName thirdKid: (NSString *) myThirdOldestKidName{
 
 大儿子 = myOldestKidName;
 
 二儿子 = mySecondOldestKidName;
 
 三儿子 = myThirdOldestKidName;
 
 }
 
 调用的时候:
 
 Kids *myKids = [[Kids alloc] init];
 
 [myKids setKids: @”张大力” secondKid: @”张二力” thirdKid: @”张小力”];
 
 
 
 1、 id:
 
 Objective-C有一种比较特殊的数据类型是id。你可以把它理解为“随便”。
 
 在Objective-C里,一切东西都是指针形式保存,你获取到的就是这个对象在内存的位置。那么id就是你知道这个位置,但是不知道里面是啥的时候的写法。
 
 2、 同一个数组可以保存不同的对象:
 
 比如一个数组NSArray,这种数组里面可以保存各种不同的对象,比如这个数组里:
 
 myArray <—-|
 
 0: (float) 234.33f
 
 1: @”我是个好人”
 
 2: (NSImage *)
 
 3: @”我真的是好人”
 
 这是一个由4个东西组成的数组,这个数组包括一个浮点数,两个字符串和一个图片。
 
 3、BOOL,YES,NO:
 
 YES是1,NO是0,BOOL本身就是个char。
 
 4、IBOutlet、IBAction是啥玩意,总能看到。
 
 这两个东西其实在语法中没有太大的作用。如果你希望在Interface Builder中能看到这个控件对象,那么在定义的时候前面加上IBOutlet,在IB里就能看到这个对象的outlet,如果你希望在Interface Builder里控制某个对象执行某些动作,就在方法前面加上(IBAction)。
 
 而这两个东西实际上和void是一样的。
 
 5、nil。
 
 Objective-C里的NULL(空)就这么写,表示空指针。
 
 6、为什么是@”字符串”而不是”字符串”
 
 ”字符串”是C的字符串,@”"是把C的字符串转成NSString的一个简写.
 在需要NSString的地方才需要这个转化,例如NSLog里面.
 在需要C string的地方,还是用”字符串”的.
 
 另外,@”"这个转换是不支持中文的.例如NSLog(@”字符串”); 是一定输出不了中文的.。
 
 |