簡體   English   中英

Objective-C宏類型

[英]Objective-C macro type

我有以下宏:

#define MReachabilityReachable (((AppDelegate *)[UIApplication sharedApplication].delegate).reachableAzureMobileServices);

以下工作正常。

BOOL internetReachable = MReachabilityReachable;
if (internetReachable){
    // do someting
}

有沒有一種方法可以將其更改為:

if (MReachabilityReachable){
   // do something
}

編譯器不接受第二個代碼段。

宏通過直接編寫表達式來擴展表達式來工作。 就您而言,您的問題可能是; 在宏的末尾。

讓我們在一個更簡單的宏上展示一下

#define MReachabilityReachable ([appDelegate isReachable]);

然后

BOOL internetReachable = MReachabilityReachable;

擴展到

BOOL internetReachable = ([appDelegate isReachable]);;

哪個有效但是

if (MReachabilityReachable) {

擴展到

if (([appDelegate isReachable]);) {

哪里; 使表達式無效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM