初識OC&iOS 類和物件

weixin_34337265發表於2016-03-02

iOS是iPhone Operation System的縮寫。
使用iOS系統的裝置有哪些『iPhone手機,iPad,Apple watch(Watch OS),iPod touch』。
互動層:cocoa touch
作業系統層:iOS
底層:硬體

include 與 #import的區別

#include完成標頭檔案的匯入,可能會導致標頭檔案相互引用和函式\變數的重複定義。

    eg:
1679562-2273fab0d66419ba.png

    為了解決這個問題,我們必須在檔案的前面加上『#ifndef』

  #import不僅完成標頭檔案的引入,並且防止標頭檔案之間的相互作用。
@autoreleasepool 自動釋放池
  當程式執行過程中,會不斷地分配記憶體空間給一些物件。如果說這個物件被autorelease修飾,那麼這個物件就會被立刻扔到自動釋放池裡面(佇列 陣列),系統會每隔一段時間去釋放池裡面判斷這些物件的生命週期是否結束,如果結束,那麼系統自動地將這個物件的記憶體釋放,當程式退出,系統會將釋放池裡面的所有物件釋放。

//輸出
  printf("hello");
  NSLog(@"hello");
  區別:1.printf沒有自動換行;NSLog自動換行;
     2.printf輸出的是普通字串;NSLog輸出的是字串物件;
     3.printf只能輸出C語言的基本資料型別(int float double long char);NSLog可以輸出物件。
  eg:

NSString *name = @"pxd";
NSLog(@"%@", name);
NSArray *array = @[@"pxd", @"2"];
NSLog(@"%@", array);

@在OC中一般表示一個物件@"hello" @1
   也通常用於OC的一些關鍵字@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語言解決問題:誰能做什麼。
  類是具有相同屬性和方法的一些事物的抽象;物件是一個類的例項化,實實在在存在的一個表現。
  沒有類就沒有物件!在OC中,一切皆物件。

相關文章