2014-10-10 42 views
0

如果存在這樣的屬性我可以測試:如何測試變量是否被聲明?

#import <objc/runtime.h> 
-(void)testcachedPublicFeedExists 
{ 
    objc_property_t prop = class_getProperty([store class], "cachedPublicFeed"); 
    XCTAssertTrue(prop); 
} 

但我怎麼測試如果像cachedVar類變量存在?

@interface FTDataStoreBase : NSObject 
{ 
    NSMutableArray *cachedVar; 
} 

回答

0

您可以使用這些方法class_getInstanceVariableclass_getClassVariable

- (void)testcachedVarExists 
{ 
    Ivar ivar = class_getInstanceVariable([store class], "cachedVar"); 
    XCTAssertTrue(ivar); 
} 

Apple docs瞭解更多。

+0

您確定這可行嗎?我這樣解決它:'Ivar prop = class_getInstanceVariable([store class],「cachedPublicFeed」); XCTAssertTrue(prop);' – Houman 2014-10-11 08:16:50

+0

@Hooman是的,我的意思是它寫了別的東西。編輯答案。 – quaertym 2014-10-11 19:38:15