好吧,我在我的一個功能中遇到的問題是,當用戶通過Facebook登錄時,我的應用程序正在檢查他們的Facebook用戶名是否已經存在於我們的應用程序(Parse.com)數據庫中。來自NSObject的PresentViewController?
如果是這樣,請提供一個視圖控制器(這是我遇到問題的地方,因爲這是一個NSObject),如果沒有,只需編寫他們的Facebook用戶名解析用戶名字符串。錯誤我得到的是:對於選擇沒有已知的類方法「presentViewController:動畫:完成」
這裏是我的代碼:
PFQuery *query = [PFUser query]; //1
[query whereKey:@"username" equalTo:me.username];//2
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {//4
if (!error) {
NSLog(@"Successfully retrieved: %@", objects);
if ([objects count] > 0)
{
// LOOKING TO PRESENT VIEW CONTROLLER HERE?
// TRIED:
// [self presentViewController:[@"RegisterUsername" animated:YES completion:nil];
} else {
[[PFUser currentUser] setObject:me.username forKey:@"username"];
}
} else {
NSString *errorString = [[error userInfo] objectForKey:@"error"];
NSLog(@"Error: %@", errorString);
}
}];
而且由於這是從NSObject的繼承,它不會允許我使用presentViewController。不知道從這裏還有什麼要做。 :-(此視圖控制器將讓他們設置一個用戶名,然後再繼續我們的應用程序。此代碼目前在一個標頭的登錄功能爲Facebook iOS SDK的NSMJSECT(NSOBJECT)
我想我已提交一次編輯(修復代碼格式)與您同時進行,並且可能已經擦除了上次的編輯。你可以仔細檢查最後一段嗎? – Gray
您需要對當前視圖控制器的引用。在某些情況下,您可以通過設置一些'weak''delegate'屬性或者將它作爲您擁有此代碼的方法的參數,將對當前視圖控制器的引用傳遞給此對象。 – Rob