嗨,我正在創建一個閱讀器應用程序,它用於在Facebook和Twitter上共享文本。關於iPhone中的通知疑問
每件事情都很完美。我的客戶想要在設置頁面中輸入Facebook和Twitter的登錄信息。登錄和註銷也必須在那裏完成。
只有登錄後用戶才能共享文本,Twitter和Facebook都有登錄按鈕和註銷按鈕,登出按鈕隱藏在登錄按鈕後面。
如果用戶單擊登錄按鈕並且登錄過程完成,則註銷按鈕將取消隱藏,並且登錄按鈕隱藏,反之亦然。
了我的一切工作正常,但問題是,當我重定向到一個頁面,來設置頁,按鈕能見度被重置爲默認:
如果用戶登錄,註銷按鈕取消隱藏。但是當用戶轉到任何其他頁面並返回時,登錄按鈕將再次可見。這是因爲當打開另一個頁面並返回時,它會在設置頁面中作爲新案例處理。 我想我可以通過提供通知或NSMutableDictionary來解決這個問題。但我不知道該怎麼做。我對登錄Facebook和Twitter的代碼是:
註銷Twitter並
-(IBAction)_clickbtntwitterlogeout:(id)sender
{
_btntwitterLogeout.hidden = YES;
_btnTwitter.hidden=NO;
[_engine clearAccessToken];
[_engine clearsCookies];
[_engine setClearsCookies:YES];
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"authData"];
[[NSUserDefaults standardUserDefaults]removeObjectForKey:@"authName"];
NSLog(@"%@",[[NSUserDefaults standardUserDefaults]valueForKey:@"authName"]);
NSLog(@"%@",[[NSUserDefaults standardUserDefaults]valueForKey:@"authData"]);
[_engine release];
_engine=nil;
NSHTTPCookie *cookie;
NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (cookie in [storage cookies])
{
NSString* domainName = [cookie domain];
NSRange domainRange = [domainName rangeOfString:@"twitter"];
if(domainRange.length > 0)
{
[storage deleteCookie:cookie];
}
}
}
logein Twitter的認證
-(IBAction)_clickbtnTwitter:(id)sender
{
_btntwitterLogeout.hidden = NO;
_btnTwitter.hidden=YES;
if (_engine) return;
_engine = [[SA_OAuthTwitterEngine alloc] initOAuthWithDelegate: self];
_engine.consumerKey = kOAuthConsumerKey;
_engine.consumerSecret = kOAuthConsumerSecret;
UIViewController *controller = [SA_OAuthTwitterController controllerToEnterCredentialsWithTwitterEngine: _engine delegate: self];
if (controller)
[self presentModalViewController: controller animated: YES];
else {
[_engine sendUpdate: [NSString stringWithFormat: @"Already Updated. %@", [NSDate date]]];
}
}
一樣,因爲對於Facebook。 在此先感謝。
在你的問題中的「英語」基本上是不可讀的。 –
標點符號(即captial letters和full stop)可以真正改善介紹的段落。如果它們更短,它們也會更好。 – Tom
我試圖編輯他的文本,使其可讀(編輯請求正在等待) –