2011-02-08 24 views
1

我想在客觀C.動態創建字符串變量動態VariableFromString目標C

NSClassFromString多數民衆贊成的方式。在那我想訪問變量。

對此有何想法?

+0

你可否解釋一下這個問題? – HyLian 2011-02-08 07:31:33

+0

偉大的問題朋友。你也應該給你的項目名稱,我們可以爲你完成它:P。笑話除了親愛的,這些類型的問題不會輕易得到答案。請問一般問題以獲得更好的結果。 – 2011-02-08 09:32:14

回答

0

如果要動態訪問對象的屬性,使用Key Value Coding很容易。

如果您的課程符合KVC(大多數Apple課程),則使用valueForKey:valueForKeyPath:方法以字符串形式訪問屬性。

考慮這個例子。

// Shoe.h 
@interface Shoe { 
    NSString *brand; 
    NSNumber *size; 
} 

@property (nonatomic, copy) NSString *brand; 
@property (nonatomic, retain) NSNumber *size; 

@end 

// Shoe.m 
@implementation 

@synthesize brand, size; 

@end 

讓我們先創建並初始化一個Shoe對象。

Shoe *someShoe = [[Shoe alloc] init]; 
someShoe.brand = @"Adidas"; 
someShoe.size = [NSNumber numberWithFloat:9.5]; 

考慮該例子中someShoe對象,其品牌或尺寸可以通過串進行訪問。

NSString *brandName = [someShoe valueForKey:@"brand"];