假設有一個包含兩個不同的特性,如類:的Objective-C:有條件地調用不同的性質
@interface MyClass : NSObject
@property id valueWhenNO;
@property id valueWhenYES;
@end
在使用這個類被稱爲「國家」,我知道一個布爾值,我可以根據屬性通過其「狀態」:
MyClass *myClass;
id value = state ? myClass.valueWhenYES : myClass.valueWhenNO;
但我發現,在複雜的代碼中使用了很多條件語句可以使它的可讀性非常困難。由於我打算不提供有關'MyClass'的'狀態'的信息,因此'MyClass'中不能有額外的布爾屬性。
Objective-C類中是否有任何方法可用於通過如下所示的一小段代碼有條件地獲取屬性?
id value = myClass.valueByState;
您可以製作屬性方法,而不是在實現中輸入條件。 – kezi