iOS是iPhone Operation System的縮寫。
使用iOS系統(tǒng)的設(shè)備有哪些『iPhone手機,iPad,Apple watch(Watch OS),iPod touch』。
交互層:cocoa touch
操作系統(tǒng)層:iOS
底層:硬件
include 與 #import的區(qū)別
#include完成頭文件的導(dǎo)入,可能會導(dǎo)致頭文件相互引用和函數(shù)\變量的重復(fù)定義。

為了解決這個問題,我們必須在文件的前面加上『#ifndef』
#import不僅完成頭文件的引入,并且防止頭文件之間的相互作用。
@autoreleasepool 自動釋放池
當(dāng)程序運行過程中,會不斷地分配內(nèi)存空間給一些對象。如果說這個對象被autorelease修飾,那么這個對象就會被立刻扔到自動釋放池里面(隊列 數(shù)組),系統(tǒng)會每隔一段時間去釋放池里面判斷這些對象的生命周期是否結(jié)束,如果結(jié)束,那么系統(tǒng)自動地將這個對象的內(nèi)存釋放,當(dāng)程序退出,系統(tǒng)會將釋放池里面的所有對象釋放。
//輸出
printf("hello");
NSLog(@"hello");
區(qū)別:1.printf沒有自動換行;NSLog自動換行;
2.printf輸出的是普通字符串;NSLog輸出的是字符串對象;
3.printf只能輸出C語言的基本數(shù)據(jù)類型(int float double long char);NSLog可以輸出對象。
eg:
NSString *name = @"pxd";
NSLog(@"%@", name);
NSArray *array = @[@"pxd", @"2"];
NSLog(@"%@", array);
@在OC中一般表示一個對象@"hello" @1
也通常用于OC的一些關(guān)鍵字@interface @end @public @private
%@表示輸出一個對象類型
號在C語言里面表示指針變量,或者是某個地址里面的值;
在OC中只需要明白在定義一個OC的對象類型前面添加一個就可以了。
eg:
int age = 20;
NSString *name = @"pxd";
NSLog(@"my name is %@ my age is %d", name, age);
類和對象
C語言解決問題:先做什么,后做什么。
OOP語言解決問題:誰能做什么。
類是具有相同屬性和方法的一些事物的抽象;對象是一個類的實例化,實實在在存在的一個表現(xiàn)。
沒有類就沒有對象!在OC中,一切皆對象。