Я создал модель под названием «Пользователь», у которой есть свойство «имя».
Я делаю запрос к facebook API (используя последнюю версию SDK для iOS), идея заключается в том, чтобы установить мое свойство user.name, когда facebook возвращает данные.
Facebook возвращает данные в блок startWithCompletionHandler
, но я не могу установить эти данные в свой пользовательский объект, я могу получить доступ только к данным в startWithCompletionHandler
. Когда я пытаюсь получить доступ к данным из блока, моя модель возвращает NULL
.
Как я могу заполнить свою модель/объект, когда возвращается запрос facebook?
Моя текущая реализация метода:
+ (void)requestUserData:(User *)userModel {
if(FBSession.activeSession.isOpen) {
[[FBRequest requestForMe] startWithCompletionHandler:^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *user, NSError *error) {
if(user.name) [self setUserData:user userModel:userModel];
}];
}
}
+ (void)setUserData:(NSDictionary<FBGraphUser> *)user userModel:(User *)userModel {
userModel.name = user.name;
}
И звонок:
__block User *user = [[User alloc] init];
[GFFacebookHelpers requestUserData:user];
NSLog(@"user: %@", user.name); //this part prints 2013-06-06 18:03:43.731 FacebookClassTest[74172:c07] user: (null)
Спасибо.
FBGraphUser
с вашей моделью или у вас просто есть свойствоname
в вашей модели? - person Daniel   schedule 07.06.2013