[英]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.