你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> IOS 開發之Object-C中的對象詳解

IOS 開發之Object-C中的對象詳解

編輯:IOS開發綜合

IOS 開發之Object-C中的對象詳解

前言

關於C語言的基礎部分已經記錄完畢,接下來就是學習Object-C了,編寫oc程序需要使用Foundation框架。下面就是對oc中的對象介紹。

對象

對象和結構類似,一個對象可以保存多個相關的數據。在結構中,我們稱這些數據為成員。而在對象中,稱這些數據為實例變量。除了這些以外,對象和結構不用之處在於,對象還可以包含一組函數,並且這些函數可以使用對象所保存的數據,這類函數稱為方法。

類(class)負責描述某個特點類型的對象,其中包括方法和實例變量。類可以描述以下兩種對象:

  1. 抽象概念,例如數據、字符串和指令集。
  2. 實際存在的事物,例如人、地點等。

一個類定義了一種對象,同時它也可以用來創建這種對象。類既是對象的原型,又是生產對象的工廠。

實例

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
  @autoreleasepool {
    // insert code here...
    NSDate *today=[NSDate date];

    NSLog(@"%p",today);
  }
  return 0;
}

上面程序中 等號(=)左邊是變量today,變量前面的*說明它是一個指針,這個指針保存著NSdate實例在內存中的地址。賦值運算符的右邊是返回了NSDate實例的地址。整個過程稱為消息發送。

方法和函數類似。根據指令執行相應的功能。oc中,想要執行方法裡的代碼,首先需要發送一條消息給包含這個方法的對象或類。

上面的程序中NSDate類中有一個date方法,因此,我們向NSDate類發送了date消息,讓它執行date方法。

消息發送必須寫在一對方括號裡,並且必須包含接受方和選擇器。

如下面格式:

修改程序,如下:

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
  @autoreleasepool {
    // insert code here...
    NSDate *today=[NSDate date];

    NSLog(@"today=%@",today);
  }
  return 0;
}

輸出結果:

today=2016-12-06 00:02:59 +0000

獲取到NSDate的實例,這時就可以給它發送消息了,如下程序:

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
  @autoreleasepool {
    // insert code here...
    NSDate *today=[NSDate date];

    double seconds=[today timeIntervalSince1970];

    NSLog(@"seconds=%f",seconds);
  }
  return 0;
}

輸出結果:

seconds=1480982760.070326

timeIntervalSince1970的作用是會算出現在的時間和1970年1月1號12:00 AM(GTM)之間的時間差。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved