利用公司给的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)viewDidLoad 11 { 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 //打印出str 27 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 #import <UIKit/UIKit.h> 2 3 @interface HWViewController : UIViewController 4 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 <Foundation/Foundation.h> @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一样。