利用公司给的mac,自己学习下objective-c的语法。
主要的参考的是雨松momo的博客。
首先创建项目。
1 打开xcoode
选择create a new Xcode project.
2
选择single View Application,这里只介绍基本语法,所以选择这个就够了。
3 输入对应的信息,就不写了。
这样,我们的第一个项目就创建好了。
找到HWViewController.m文件,里面有个-(void)viewDidLoad方法,这个方法每次启动都会调用。类似与Android的oncreate()方法。
Objective-C 则也类似C++ .h 声明类的变量 方法 .m 用来实现方法
在c语言中 我们在控制台输出信息是用printf() Java语言则是 System.out.println() 而Objective-C 则是用 NSLog();
1 #import "HWViewController.h" 2 #import "MyClass.h" 3 4 @interface HWViewController () 5 6 @end 7 8 @implementation HWViewController 9 10 - (void)viewDidLoad11 {12 [super viewDidLoad];13 // Do any additional setup after loading the view, typically from a nib.14 15 //打印一个字符串16 NSLog(@"only log hello world");17 18 //字符串相加19 NSString *str;20 //注意前面加了一个@符号,表示这是一个string类。21 NSString *str1 = @"plusA ";22 NSString *str2 = @"+";23 NSString *str3 = @"plusB";24 // 把str1 str2 str3 相加后赋值给str %@ 表示是一个对象 这里也可以用 %d %s 在这里就不一一举例了。25 str = [NSString stringWithFormat:@"%@ %@ %@",str1,str2,str3];26 //打印出str27 NSLog(@"string plus %@",str);28 //self 好比C++ 或者 java 语言中的 this 指针 指向本类 这里调用了本类的 putString方法 将字符串"pass string"作为参数传递了进去29 [self putString:@"pass string"];30 //在内存中new了一个MyClass的对象 alloc是在内存中 分配内存 init 则是初始化 这样写 属于规定写法31 MyClass * myclass = [[MyClass alloc] init];32 // 用myclass指针调用 类中putclass方法 将字符串 "pass class string"作为参数传递进去33 [myclass putclass:@"pass class string"];34 //调用类中静态方法 将字符串"static pass class string "作为参数传递进去35 [MyClass staticPutClass:@"static pass class string"];36 37 }@end
这个类的声明
1 #import2 3 @interface HWViewController : UIViewController4 5 -(void) putString:(NSString *) str;6 @end
MyClass类的实现
//// MyClass.m// HelloWorld_20131017//// Created by 张学院 on 13-10-17.// Copyright (c) 2013年 com.mix. All rights reserved.//#import "MyClass.h"@implementation MyClass//方法前是-号的说明这是一个实力方法 必需本类new过才能调用-(void)putclass:(NSString *)str{ NSLog(@"%@",str);}//方法前是+号的说明这是一个类方法 这种方法无权访问实例变量//这里声明了一个静态方法 无需本类new过也可以调用+(void)staticPutClass:(NSString *)str{ NSLog(@"%@",str);}@end
MyClass类的声明
#import@interface MyClass : NSObject{ }- (void) putclass :(NSString *) str;+(void) staticPutClass : (NSString *) str;@end
总结:
1 import引用文件
2 NSLOG输出log。%d表示输出整数,%@表示输出的是NSString类型等。
3 减号表示是普通函数,必须new过以后才能调用,+表示是静态函数,直接用类就可以调用,这点和java相似。
4 字符串的拼接,string变量前面加*号,赋值不要忘了“”前面要加@。除了这个其他的跟java一样。