我審計有一個appDelegate
性能在許多視圖控制器的一些代碼。爲什麼使用應用程序委託的屬性?
@property (nonatomic, unsafe_unretained) TheAppDelegate *appDelegate;
撇開這種耦合的設計的影響,是否有任何益處,比便利其它,一個appDelegate
屬性的與檢索應用程序委託:
TheAppDelegate *appDelegate = (TheAppDelegate *)[[UIApplication sharedApplication] delegate];
[appDelegate someMethod];
這是都非常主觀的,所以我給你我的觀點:AppDelegate中的任何類用途或功能不縮小系統和應用程序是一個代碼味道。有一個屬性引用它是雙重的。我覺得獲得它的醜陋方式本身就是一種沮喪(就像C++中的各種投射方法一樣)。在這兩種情況下都沒有任何好處(一種是強制你記住設置或定義一個屬性,另一個強制冗長)。 – CodaFi 2013-04-23 19:11:25
@CodaFi,有沒有辦法縮小這個問題,所以它不是*非常主觀*?我主要好奇的是,如果我*必須*使用這樣的代碼,我的財產更好。 – 2013-04-23 19:14:56
這是一個主觀因素,它是一個編碼風格的問題,而不是一個關於具體數字的問題。您可能會收到的唯一答案是意見和經驗。我可以給你一百萬個案例,我曾經在某些案例中親自使用過一個或另一個案例,但這絕不會構成權威性的答案。 – CodaFi 2013-04-23 19:18:28