由于Weibosdk 和微博提供的demo都是由objective-c語言開發(fā)的,那么在用swift語言調(diào)用的時(shí)候就會(huì)有些不同?
在demo中獲取用戶的信息是這樣寫的:
?AppDelegate*myDelegate =(AppDelegate*)[[UIApplicationsharedApplication]delegate];
[WBHttpRequest requestForUserProfile:myDelegate.wbCurrentUserIDwithAccessToken:myDelegate.wbtokenandOtherProperties:nil queue:nil withCompletionHandler:^(WBHttpRequest*httpRequest, id result,NSError*error) {
DemoRequestHanlder(httpRequest, result, error);
}];
WBHttpRequest 有個(gè)requestForUserProfile函數(shù)來提供用戶信息的請求,但是在swift當(dāng)中通過橋接文件去調(diào)用這個(gè)requestForUserProfile函數(shù)的時(shí)候卻發(fā)現(xiàn)找不到,一開始百思不得其解,點(diǎn)擊類名進(jìn)入定義文件中去看,發(fā)現(xiàn)確實(shí)是有這個(gè)函數(shù)的,但是卻訪問不到,經(jīng)過各種嘗試發(fā)現(xiàn)OC中的靜態(tài)方法經(jīng)過橋接到Swift語言中卻變成了init方法:
WBHttpRequest.init(forUserProfile: userId, withAccessToken: accessToken, andOtherProperties:nil, queue:nil, withCompletionHandler: {
(httpRequest,result,error)in
if let user = result as?WeiboUser{
print(" user\(user.name) avator url\(user.avatarHDUrl)\(error)")
}
})
這樣就可以請求到微博的用戶信息了