日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Objective C学习总结(二)

發布時間:2025/3/15 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Objective C学习总结(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

總結一犯了個錯誤,自己先總結反思下

總結意在使記憶更深刻,而不是拿出來作秀的,簡單明了即可,不能廢話太多。

總結(一)里回顧了.h文件中的類的說明

這里回顧.m文件中實現接口的函數體

(之所以用.m來做擴展名,m代表message,愿意為objective-c是基于消息的)

和c/c++一樣,obj-c的.m文件,開始也是引入頭文件部分

c/c++用的是?

#include

obj-c則是

#inport

書上說#inport要優于#include,真假其實不重要,無所謂的事情。

關于是

#inport "頭文件.h"

還是

#inport <頭文件.h>

很容易理解,和c/c++,標準庫,系統等頭文件用<>,自定義的用的”“。

@implementation 類名 @end

這個區域內是放類接口具體實現的,如下:

#import "Recipient.h"@implementation Recipient- (id) hello {printf("Recipient says hello!\n");return self; }@end 這里實現的是類Recipient的hello接口。vc里,用 :: 來標記具體的函數是屬于哪個類的。而obj-c則是通過@implementation

來標記。這兩者有何不同,有什么優劣之分嗎?

簡單的例子代碼:

#import<Foundation/Foundation.h>int main(int argc, char *argv[]){NSAutoreleasePool * pool = [NSAutoreleasePool new];NSLog(@"Hello World!");[pool drain];return 0; } main函數同c/c++,但函數調用就不太一樣了 obj-c里,據說不是函數調用,而是向某個對象發送消息。一切的一切的一切的流程都是基于消息的(這也就是為啥文件擴展名用.m) NSAutoreleasePool * pool = [NSAutoreleasePool new]; 這句代碼用c/c++來解釋,就是 NSAutoreleasePool * pool = new NSAutoreleasePool; 只是函數的調用,變成了消息的傳遞。這樣做的好處是,可以更靈活,一個類可以接收或者轉發自己未定義的消息。而如果函數調用的話,編譯就會報錯。 感覺這樣做,是要比c/c++好。 NSLog(@"Hello world!"); NSLog,就相當于MessageBox,只是box是彈出,這個是輸出信息。 這里@是告訴編譯器,后邊的字符串,當做一個NSString來處理

轉載于:https://www.cnblogs.com/samuraiboy/archive/2011/06/14/2080611.html

新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!

總結

以上是生活随笔為你收集整理的Objective C学习总结(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。