【发布时间】:2011-08-11 02:28:29
【问题描述】:
所以我在我的应用程序中实现 Twitter/Facebook 是一种学习体验,但我快到了,我还有最后一个可能很简单的问题。使用 MGTwitter 引擎,我在
中从我的视图控制器调用一个方法 - (void) setAccessToken: (OAServiceTicket *) ticket withData: (NSData *) data {
方法正在触发,(由 NSLog 调用确认)。然而,它并没有做它应该做的事情,这在我的 Twitter 注销按钮中淡出。我仍然在掌握 Objective-C 处理方法的方式,我觉得我只是没有将我的变量指向正确的位置。任何方向都非常感谢,这里是下面的代码:
SA_OAuthTwitterEngine.m -
//
// access token callback
// when twitter sends us an access token this callback will fire
// we store it in our ivar as well as writing it to the keychain
//
- (void) setAccessToken: (OAServiceTicket *) ticket withData: (NSData *) data {
if (!ticket.didSucceed || !data) return;
NSString *dataString = [[[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding] autorelease];
if (!dataString) return;
if (self.pin.length && [dataString rangeOfString: @"oauth_verifier"].location == NSNotFound) dataString = [dataString stringByAppendingFormat: @"&oauth_verifier=%@", self.pin];
NSString *username = [self extractUsernameFromHTTPBody:dataString];
if (username.length > 0) {
[self setUsername: username password: nil];
if ([_delegate respondsToSelector: @selector(storeCachedTwitterOAuthData:forUsername:)]) [(id) _delegate storeCachedTwitterOAuthData: dataString forUsername: username];
}
[_accessToken release];
_accessToken = [[OAToken alloc] initWithHTTPResponseBody:dataString];
//Call twit login from my view controller
MyView *fvController = [[MyView alloc] init];
[MyView twitLogin];
[MyView helper];
NSLog(@"LETS TWEET DIRECTLY AFTER SUCCESSFUL LOG IN!");
}
这是我的辅助方法在我的 .m 文件中所做的:
-(void)helper{
NSLog(@"HELPER FUNCTION");
[self fadeIn:twitterLogout withDuration:2 andWait:2.0];
}
这是它调用的方法
//FADE IN FUNCTION ------------------------------//////////////////////
-(void)fadeIn:(UIView*)viewToFadeIn withDuration:(NSTimeInterval)duration
andWait:(NSTimeInterval)wait
{
[UIView beginAnimations: @"Fade In" context:nil];
[UIView setAnimationDelay:wait];
[UIView setAnimationDuration:duration];
viewToFadeIn.alpha = 1;
[UIView commitAnimations];
}
【问题讨论】:
标签: objective-c ios cocoa-touch ios4