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
框架是一個聚集在一個單元的部件集合。
基本資料型別
基本型別:
整型: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