• 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一样。

  • 相关阅读:
    Android 自定义View (一)
    Java enum的用法详解
    Android Application的使用及其生命周期
    android 支持的语言列表(汇总)
    android 使用String.format("%.2f",67.876)自已定义语言(俄语、西班牙语)会把小数点变为逗号
    TN2151:崩溃报告
    android 各国语言对应的缩写
    uva 1401 dp+Trie
    教你3网页特效免费下载栅极材料必不可少的一步,无需工具
    编译命令行终端 swift
  • 原文地址:https://www.cnblogs.com/aosting/p/3487218.html
Copyright © 2020-2023  润新知