函式的呼叫方式有三種:
第一種:通過self來呼叫本物件的成員函式
- (ibaction)captureorderbuttonpressed:(uibutton *)sender
第二種:通過類名呼叫靜態全域性函式
mbprogresshud.h
+(void)hudshowwithstatus :(id)viewcontroller : (nsstring *)string;//顯示1.8消失的提示框
mbprogresshud.m
+(void)hudshowwithstatus :(id)viewcontroller :(nsstring *)string
呼叫處:
[mbprogresshud hudshowwithstatus:self :[error localizeddescription]];
第三種:通過單例物件來呼叫單例的函式。
api.h
+ (instancetype)shareapi;
- (void)updatelocationparams:(nsdictionary *)params block:(void(^)(nserror *error))block;//更新地理位置
} 呼叫:
[[api shareapi] updatelocationparams:muparams block:^(nserror *error)
else
// [self getorders];
[self shownoticeview];
// [self setuprefresh];
} else
[self shownoticeview];
}];
+ (instancetype)shareapi
shareapi = [[api alloc] initwithbaseurl:[nsurl urlwithstring:baseurl]];
#else
shareapi = [[api alloc] initwithbaseurl:[nsurl urlwithstring:baseurl]];
#endif
});shareapi.responseserializer.acceptablecontenttypes = [nsset setwithobject:@"text/html"];//設定相應內容型別
shareapi.securitypolicy.allowinvalidcertificates = no;
[shareapi.requestserializer settimeoutinterval:g_requerespondtime];
return shareapi;
}
sharedinstace = [[self alloc] init];
});return sharedinstace;
若你對c/c++念念不忘也可以用.h檔案定義全域性變數,在.m檔案裡包含全域性變數標頭檔案就可以,注意在.mm檔案裡不能用包含全域性變數的標頭檔案的方式引用全域性變數,需要用extern 宣告你需要用到全域性變數。乙個變數可以有多個宣告,只允許乙個定義。
extern nsstring *g_devicetype;
實現單例的三種方式
1 必須在該類中 自己先建立出乙個物件並私有化物件.2 私有化自身的構造器 防止外界通過構造器建立新的物件 3 想外暴露乙個公共的靜態方法用於獲取自身的物件 目的 保證某乙個在整個應用中某乙個類有且只有乙個例項 乙個類在堆記憶體只存在乙個物件 即所有指向該型別例項的引用都指向同一塊記憶體空間。cla...
單例的三種實現方式
方式一 類方法實現單例模式 class mysql instance none def init self,host,port self.host host self.port port q classmethod defsingleton cls ifnot cls.instance cls.in...
函式的三種呼叫方式
第一種 函式立即呼叫執行模式。這裡面的this指向window function add a,b add this window true 第二種 通過建構函式建立物件,然後呼叫自己的方法 這裡的this指向物件本身 也可說是函式的呼叫者 script function fun varf new f...