我正在做一個類來初始化某些類的實例。這個類將被用來初始化幾個不同類的類,它們都是從一個普通的超類中分類出來的。目前我正在使用一個實例變量:我可以爲類類型變量指定特定的超類需求嗎?
Class templateClass;
存儲類的類型。我得到編譯器警告,說templateClass不支持方法。有沒有辦法抑制這些警告或指定模板類必須是某個類的子類?
此外,這是在objective-c中執行此操作的理想方法嗎?有沒有不同的方式來指定我應該使用的類?
感謝您的幫助!
編輯: 我寫的這個類是爲了在隨機選擇的位置創建精靈並用一些變量來限制它們。這個類期望它激發的類有一個initWithX:(int)pos yVariance:(int)variance
方法。我期望這可以使用你提到的協議來定義。我將爲每個我必須創建的精靈類型創建rezzing類的多個實例。我希望能夠發送重新分類initWithTemplateClass:(Class)templateClass
來定義要創建的精靈的類型。我不確定這是否是正確的方法,但是因爲編譯器發佈方法initWithX:(int)pos yVariance:(int)variance
不適用於templateClass。我期待着我正在處理這個問題。 顯示這條警告的代碼是:
[self addChild:[[templateClass alloc] initWithX:positionOfChild
yVariance:(random()%(rowVarianceSize+1))]];
也許你應該發佈一些代碼,顯示你如何使用'templateClass'生成警告。 – imaginaryboy 2010-08-22 23:42:01
剛剛添加了代碼 – dhatch387 2010-08-23 00:04:24