2016-08-03 46 views
0

我在我的應用程序中有一個方法,檢查是否有一些事情是真的。更漂亮的方法來做if語句行爲

- (BOOL)isToggleTurnedOn { 
    return ([self checkToggleStatus] != [self checkOtherToggle]); 
} 

當這個方法返回true時,我顯示一個模態。

if ([Preferences isToggleTurnedOn] == true) { 
    NSArray *welcomeTexts = @[ 
           ... 
           some data 
           ... 
          ]; 
    WelcomeController *welcomeController = [[WelcomeController alloc] initWithText:welcomeTexts]; 
    UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:whatsNewController]; 

    navController.modalPresentationStyle = UIModalPresentationFormSheet; 
    [self presentViewController:navController animated:YES completion:nil]; 
} 

現在,在我看來,這段代碼並不像它可以這樣美麗。我寧願添加控制器的演示文稿作爲參數isToggleTurnedOn。什麼是重構這個最好的方法?

回答

1
- (BOOL)isToggleTurnedOn { 
    return [self checkToggleStatus] != [self checkOtherToggle] 
} 
+0

嗯,我的壞。這個示例方法就是現場製作的。雖然這不是我所問的部分,但你是對的。 – user4992124

0

讓我瘋狂地看到這樣的代碼。更簡潔:

- (BOOL)isToggleTurnedOn { 
    return ([self checkToggleStatus] != [self checkOtherToggle]); 
} 
+0

嗯,我的壞。這個示例方法就是現場製作的。雖然這不是我所問的部分,但你是對的。 – user4992124

+0

我首先看到了Avi的答案。但是,嘿,如果這對你意義重大,我也會投你一票。 – user4992124

+2

@duffymo,如果SO代表對你來說意義重大,那就過上一輩子吧。或者至少一個抓地力。我們的答案相隔數秒。 – Avi