2014-01-20 1 views
0

Я довольно новичок в RubyMotion, и я просто ударил стену.Rubymotion and Objective C геттерные блоки

Я пытаюсь сделать некоторые LinkedIn OAuth работу и мне нужно преобразовать следующее RubyMotion

client = LIALinkedInHttpClient.clientForApplication(application, presentingViewController:nil) 

client getAuthorizationCode:^(NSString * code) { 
    [self.client getAccessToken:code success:^(NSDictionary *accessTokenData) { 
     NSString *accessToken = [accessTokenData objectForKey:@"access_token"]; 
     [self.client getPath:[NSString stringWithFormat:@"https://api.linkedin.com/v1/people/~?oauth2_access_token=%@&format=json", accessToken] parameters:nil success:^(AFHTTPRequestOperation * operation, NSDictionary *result) { 
      NSLog(@"current user %@", result); 
     } failure:^(AFHTTPRequestOperation * operation, NSError *error) { 
      NSLog(@"failed to fetch current user %@", error); 
     }]; 
    } failure:^(NSError *error) { 
     NSLog(@"Quering accessToken failed %@", error); 
    }]; 
} cancel:^{ 
    NSLog(@"Authorization was cancelled by user"); 
} failure:^(NSError *error) { 
    NSLog(@"Authorization failed %@", error); 
}]; 

Может кто-нибудь, возможно, мне точку в направлении записи?

ответ

3

Менее типирование способ использования Stabby лямбды рубин 2.0 выглядит следующим образом:

client.getAuthorizationCode -> (code) { 
    NSLog "Success" 
}, cancel: -> 
    NSLog "Auth was cancelled" 
}, failure: -> (error) { 
    NSLog "Auth failed" 
} 
+0

Спасибо, я выбрал это как ответ, только вниз, чтобы он быть рубин 2,0. Прекрасно подходит для меня. –

1

Вот идея о том, как вы будете использовать Objective-C блоков в RubyMotion:

client.getAuthorizationCode(lambda { |code| 

}, cancel: lambda { 

}, failure: lambda { |error| 

}) 

Я считаю, что вы можете использовать лямбда обсчитывать -> или Proc, если вы предпочитаете. См. RubyMotion docs для получения дополнительной информации. Они демонстрируют использование do и end, чтобы начать и закончить блок, но для этой цели я предпочитаю фигурные скобки.