objective-c 基础语法

利用公司给的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一样。

原文地址:https://www.cnblogs.com/aosting/p/3487218.html