iOS開發中你真的會用 define麼

2021-09-11 15:30:52 字數 1029 閱讀 3093

不得不說在c系語言(c, objective-c, c++...)中巨集(macro)是個強大的東西, 雖然在基本的語法上面看上去是非常的簡單, 不過有時候正因為他的強大和方便, 就會導致在使用的時候, 其中會有很多的注意點, 如果不小心被忽略, 那麼將會帶來完全不想要的結果. 所以要想靈活的使用它, 那麼還是先了解一些比較好. 而且在ios開發中如果你是使用oc, 那麼你可能經常會使用到#define(swift當前不支援巨集)

首先扔出幾個巨集的定義,呼叫這些巨集的時候分別是什麼結果, 看看你能夠在不看後面的情況下, 清楚多少, 當然, 如果很清楚, 自然可以忽略後文的八卦了..., 因為, 你絕對比我更了解巨集...

#define pi 3.14

這裡先不解釋上面定義的幾個巨集了, 首先介紹下巨集的一些基本東西

對於巨集的基本的東西就介紹到這裡了, 還有一些相關的東西就在下面解釋一下上面定義的幾個巨集的過程中提到

#define weakify( x ) autoreleasepool{} __weak typeof(x) weak##x = x;

加上 autoreleasepool{}使用巨集的時候就應該加上@

像這樣:

- (void)delay );

}當然如果你沒有加autoreleasepool{}, 使用巨集就不用加上@了

#define weakify( x ) __weak typeof(x) weak##x = x;

像這樣:

- (void)delay );

}複製**

?這裡關於巨集的介紹就先這樣了, 使用巨集很多時候可以讓我們的**更容易閱讀和修改, 同時也可以少寫很多的重複**, 希望你在使用c系語言開發的時候能夠好好利用這個方便的東西, 如果你使用oc開發ios那麼巨集對你而言也會是一大福利, 如果使用swift開發ios, 那麼... 目前swift是不支援巨集定義的, 不過可以使用全域性的常量和全域性函式來替換一部分巨集的功能

iOS開發 你真的會用SDWebImage?

原文 以下 在需要監聽網路狀態的方法中使用 afnetworkreachabilitymanager mgr afnetworkreachabilitymanager sharedmanager setitem customitem item 當使用者處於離線狀態時候,無法合理處理業務。於是,開始加...

你真的會用strong weak dance嗎?

下文的討論基於arc 平時開發中我們遇到block裡面引用self的情況,大部分都是這樣處理的 weak typeof self weakself self self.myblock 複製 我們習慣了這樣用,貌似這樣用了之後可以解決迴圈引用的問題,而且可以保證block執行之前self不會被釋放掉?...

iOS 關於引導頁,你真的會用嗎

其實稍微不注意,就可能出現問題.建立方式 有兩種思路 一種是自定義view.建立乙個viewcontroller.載入引導頁的位置 放在homeviewcontroller的viewdidload中.先說一下用viewcontroller實現的方式.第二種方式顯然不可取,因為第一次安裝的話,整個過程...