簡體   English   中英

Objective-C:類作為參數

[英]Objective-C: class as parameter

是否可以知道A作為參數傳遞而創建類型為A類的對象? 通常:

Class A=[MyClass class];
....
A * object=[[A alloc]...]; //incorrect code here !

謝謝 !

您不能將變量用作變量的類型。 您需要使用id

Class A = [MyClass Class];
....
id object = [[A alloc]...];

A是一個變量,實際上,它是對對象的引用,就像所有其他對象一樣。 因此,您不能在編譯器需要類型的地方使用它。 您應該將object聲明為id或您知道A可能是的其他類型的超類。 例如,以下代碼可以正常工作。

-(void) testFooBar
{
    Class foo = [NSMutableString class];
    NSString* bar = [[foo alloc] initWithFormat: @"Message: %@", @"Hello, World"];
    NSLog(@"bar is %@, class name %@", bar, [bar className]);
}

並產生以下

2014-04-17 16:29:49.962 BigNumber[62212:303] bar is Message: Hello, World, class name __NSCFString

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM