Day 01 - objective C 基础语法

前言

由於工作的缘故,开始学习 objective C。之前只学过 Swift , objective C 对我来说完全是个全新的世界,好多从没见过的概念QQ,第一次见到的时候,还以为是哪里来的天书,差点要直接辞职了(喂~。

目前学习大约三个星期左右,是个完完全全的小菜鸟,如果有没写好的地方,还请各位前辈帮忙纠正,那事不宜迟开始吧!

文章主要参考:http://tw.gitbook.net/objective_c/home.html


Objective-C 语言结构

一个 Objective-C program 基本上有以下几个组成:

  • Preprocessor Commands(预处理命令)
  • Interface(接口)
  • Implementation(实现)
  • Method(方法)
  • Variables(变量)
  • Statements & Expressions(语句与表达)
  • Comments(注释)

以 Hello World 范例

#import <Foundation/Foundation.h>

@interface SampleClass : NSObject

- (void) sampleMethed;

@end

@implementation SampleClass

- (void) sampleMethed {
    NSLog(@"Hello, World! \n");
}

@end

int main() {
    /* my first program in Objective-C */
    SampleClass *sampleClass = [[SampleClass alloc] init];
    [sampleClass sampleMethed];
    return  0;
}

让我们来看看上述的各个部分

  • #import <Foundation/Foundation.h> :是 preprocessor command,它告诉编译器在开始前要包含 Foundation.h 文件。
  • @interface SampleClass:NSObject :显示如何创建接口,像是一种定义。这个类别(Class)继承 NSObject(所有物件的基类/基础)。
  • - (void)sampleMethod; :定义一个方法。
  • @end :表示 interface 的结束。
  • @implementation SampleClass :实现接口 SampleClass,有点像是实体化。
  • (void)sampleMethod{} :method 的具体内容。
  • int main() :是 program 开始开始执行的主要函数。
  • /*...*/ :注解,不会被执行,用来说明。
  • return 0 :终止 main() 并返回 0 。没加一样可以执行。

结果

Hello, World!

基本语法

Tokens in Objective-C

Objective-C 语言包含了各种 token。token 可以是 keyword, 标识符(id), 常量(contant), 字串(string), 符号。

ex.

NSLog(@"Hello, World! \n");

这个范例包含了六种 tokens,让我们来一一拆解

NSLog
@
(
"Hello, World! \n"
)
;

分号;

在 Objective-C 中,分号的意思是语句终止,也就是每个单独的语句必须以分号作结。
ex. 下面有两个不同的语句,因此有两个分号

NSLog(
      @"Hello, World!"
      );
return 0;

注释

主要是用来说明的文字,会被编译器忽略。
用法:以 /* 和 */ 表示开始跟结束

/* Hello, World */

标识符

标识符是用来标识变量、函数或任何其它用户定义的项目名称。可以用字母(A~Z)(a~z)、下划线(_)、数字(0~9),但不能使用如 @、$、% 等符号。
Objective-C可以区分大小写,因此 Tomtom 在 Objective-C 是两种不同的标识符。


<<:  Annotation 处理时机

>>:  Day7 配对条件范例 (角色,人数上限)

Day 6 - Rancher 系统管理指南 - 使用者登入管理

本文将於赛後同步刊登於笔者部落格 有兴趣学习更多 Kubernetes/DevOps/Linux 相...

Day21:开发自己的 APP 的前置步骤

前言 之後几天会拿来做一个 app~ 在查了一些资料之後, 整理了 开发 APP 的步骤。 开发步骤...

Day3 用基本功写一支简单的程序

今天我们要实作一支程序------计算平行四边形面积的程序。 题目如下:假设三角形的 底为a,高为b...

介面隔离原则 Interface Segregation Principles

最後,我们来到了 SOLID 当中的介面隔离原则。这里我们先举先前提到过的 BaseballPlay...

Episode 4 - 变数及型态

如果画面太小或看不清楚,可移驾至 https://www.youtube.com/watch?v=...