IOS 開(kāi)發(fā)之Object-C中的對(duì)象詳解
IOS 開(kāi)發(fā)之Object-C中的對(duì)象詳解
前言
關(guān)于C語(yǔ)言的基礎(chǔ)部分已經(jīng)記錄完畢,接下來(lái)就是學(xué)習(xí)Object-C了,編寫(xiě)oc程序需要使用Foundation框架。下面就是對(duì)oc中的對(duì)象介紹。
對(duì)象
對(duì)象和結(jié)構(gòu)類似,一個(gè)對(duì)象可以保存多個(gè)相關(guān)的數(shù)據(jù)。在結(jié)構(gòu)中,我們稱這些數(shù)據(jù)為成員。而在對(duì)象中,稱這些數(shù)據(jù)為實(shí)例變量。除了這些以外,對(duì)象和結(jié)構(gòu)不用之處在于,對(duì)象還可以包含一組函數(shù),并且這些函數(shù)可以使用對(duì)象所保存的數(shù)據(jù),這類函數(shù)稱為方法。
類
類(class)負(fù)責(zé)描述某個(gè)特點(diǎn)類型的對(duì)象,其中包括方法和實(shí)例變量。類可以描述以下兩種對(duì)象:
- 抽象概念,例如數(shù)據(jù)、字符串和指令集。
- 實(shí)際存在的事物,例如人、地點(diǎn)等。
一個(gè)類定義了一種對(duì)象,同時(shí)它也可以用來(lái)創(chuàng)建這種對(duì)象。類既是對(duì)象的原型,又是生產(chǎn)對(duì)象的工廠。
實(shí)例
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... NSDate *today=[NSDate date]; NSLog(@"%p",today); } return 0; }
上面程序中 等號(hào)(=)左邊是變量today,變量前面的*說(shuō)明它是一個(gè)指針,這個(gè)指針保存著NSdate實(shí)例在內(nèi)存中的地址。賦值運(yùn)算符的右邊是返回了NSDate實(shí)例的地址。整個(gè)過(guò)程稱為消息發(fā)送。
方法和函數(shù)類似。根據(jù)指令執(zhí)行相應(yīng)的功能。oc中,想要執(zhí)行方法里的代碼,首先需要發(fā)送一條消息給包含這個(gè)方法的對(duì)象或類。
上面的程序中NSDate類中有一個(gè)date方法,因此,我們向NSDate類發(fā)送了date消息,讓它執(zhí)行date方法。
消息發(fā)送必須寫(xiě)在一對(duì)方括號(hào)里,并且必須包含接受方和選擇器。
如下面格式:
修改程序,如下:
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... NSDate *today=[NSDate date]; NSLog(@"today=%@",today); } return 0; }
輸出結(jié)果:
today=2016-12-06 00:02:59 +0000
獲取到NSDate的實(shí)例,這時(shí)就可以給它發(fā)送消息了,如下程序:
#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; }
輸出結(jié)果:
seconds=1480982760.070326
timeIntervalSince1970的作用是會(huì)算出現(xiàn)在的時(shí)間和1970年1月1號(hào)12:00 AM(GTM)之間的時(shí)間差。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
iOS-Mac配置Tomcat教程 Mac環(huán)境配置Tomcat教程
這篇文章主要介紹了iOS-Mac配置Tomcat教程,Mac環(huán)境配置Tomcat,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11iOS中UIActivityIndicatorView的用法及齒輪等待動(dòng)畫(huà)實(shí)例
UIActivityIndicatorView活動(dòng)指示器最常見(jiàn)的用法便是用來(lái)制作那個(gè)程序中的齒輪轉(zhuǎn)動(dòng)的等待效果,接下來(lái)我們回來(lái)簡(jiǎn)單整理iOS中UIActivityIndicatorView的用法及齒輪等待動(dòng)畫(huà)實(shí)例:2016-05-05iOS 獲取當(dāng)前時(shí)間及時(shí)間戳的互換實(shí)例
下面小編就為大家分享一篇iOS 獲取當(dāng)前時(shí)間及時(shí)間戳的互換實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-01-01iOS中讀取照片庫(kù)及保存圖片或視頻到照片庫(kù)的要點(diǎn)解析
iOS中保存到本地的圖片視頻都會(huì)被匯總到系統(tǒng)的PhotoLibrary中,這里我們就來(lái)看一下iOS中讀取照片庫(kù)及保存圖片或視頻到照片庫(kù)的要點(diǎn)解析2016-06-06IOS 解決UIButton 點(diǎn)擊卡頓/延遲的問(wèn)題
本文主要介紹 IOS UIButton, 這里給大家提供代碼實(shí)例作為參考,解決 UIButton 點(diǎn)擊卡頓或者延遲問(wèn)題,在開(kāi)發(fā) IOS 項(xiàng)目的小伙伴如果遇到這樣的問(wèn)題可以參考下2016-07-07