1. 程式人生 > >iOS開發技能樹之OC-初識、基本資料型別

iOS開發技能樹之OC-初識、基本資料型別

Objective-C是C語言的超集,是有一些自己獨有特性的C語言,簡稱ObjC或者OC。前面用的C語言的基本資料型別,在OC中同樣適用,但OC也有一些自己的基本資料型別。

OC是面向物件的程式語言(OOP Object-Oriented Programming)。

新建一個簡單OC工程

開啟Xcode,Create a new Xcode project -> macOS -> Command Line Tool -> 下一步 -> 輸入工程名稱,選擇Language為Objective-C -> 下一步 -> 選擇存放工程的目錄即可。建立完成之後,xcode自動開啟新建立工程。

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

這個時候一個簡單的列印“Hello,World!”的OC工程就建立完成了。點選工程左上角執行按鈕Build and Go或者適用快捷鍵Command + R即可執行工程專案。在檢視視窗下放就能看到對應的列印結果。

這裡寫圖片描述

幾點說明:

  • 1、#import與C語言中#inlude都是引用檔案,不同的是#import不會出現重複引用/包含的問題。#import <Foundation/Foundation.h>表示引用Foundation框架中的Foundation.h檔案。Foundation是Cocoa框架的一部分,Cocoa還包括Application Kit(AppKit)框架。匯入系統庫用<>
    ,匯入自定義類庫用""
  • 2、NSLog(@"Hello, World!");,NSLog()是Foundation中的標準輸出函式,類似C語言中的printf()函式,同樣支援格式化列印,但是它會自動換行。
  • 3、Cocoa對多有函式、常量和型別名都添加了“NS”字首。NS是NextSTEP的縮寫,因為在OC中,同一個應用中不能同時存在相同的檔名,為避免名稱衝突,Cocoa通過加字首NS區分。
  • 4、@"Hello, World!"實際上是一個字串常量,@符號是OC在C語言基礎上新增的特性之一,雙引號前面加一個@符號,表示應用的字串是Cocoa的NSString元素。
  • 5、@autoreleasepool
    是OC中的關鍵字,它的含義是自動釋放池。作用是對包含在內的程式會自動進行記憶體回收,不需要手動釋放無用物件。

框架是一個聚集在一個單元的部件集合。

基本資料型別

基本型別:

整型:int,NSInteger-推薦使用,會根據裝置是32位還是64位系統確定整型數長度。NSUInteger是無符號的。

浮點型:單精度(float) 雙精度(double)

字元型:char

布林型:BOOL(YES/NO)

型別限定修飾符:

short 短型,修飾int

long 長型,修飾int,double

signed 有符號型,修飾int,char

unsigned 無符號型,修飾int,char

格式化符號:
%d :int,short(%hi),BOOL,
%ld/%lu : long(%li)
%f :float,double
%Lf :long double
%u :usigned int
%o :不帶符號八進位制輸出整數
%x :不帶符號十六進位制輸出整數
%c :char
%zd:NSInteger

int i = 10;
short si = 10;
long int li = 123456789;
unsigned int ui = 10;

float f = 2.3;
double d = 2.3;
char c = 'A';

BOOL b = YES;
BOOL b2 = NO;

NSString *string = @"Hello,OC";

NSLog(@"%d %d %lu %u %f %f %c %d_%d %@",i,si,li,ui,f,d,c,b,b2,string);

列印結果:
10 10 123456789 10 2.300000 2.300000 A 1_0 Hello,OC

64位系統下各型別長度

short int size :2
int size :4
long int size :8
unsigned int size :4
signed int size :4
NSInteger size :8
double size :8
long double size :16
char size :1
unsigned char size :1
signed char size :1