[問題] 類別變數

看板MacDev作者 (狗狗)時間15年前 (2010/05/30 01:11), 編輯推噓1(102)
留言3則, 3人參與, 最新討論串1/5 (看更多)
當需要一個物件有一個變數是一個類別的時候 要怎麼宣告? 如果只是宣告Class aClassObject; 則aClassObject可以設定為任何類別物件 但是我今天希望限制aClassObject是某組類別 (將會使用到多型) 例如 我希望aClassObject是任何繼承UIView的類別物件 這樣我可以動態決定要對哪個class object送message.... 這有辦法做到嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.77.52.127

05/30 01:15, , 1F
UIView *aView;
05/30 01:15, 1F
這個要怎麼宣告呢? UIView *aViewClass = UIView; 似乎不行

05/30 02:08, , 2F
NSObject 有個 class method 叫 isSubclassOfClass:
05/30 02:08, 2F
希望能有compile時就可以檢查的功能

05/30 11:00, , 3F
(id) 可承接所有類型的變數
05/30 11:00, 3F
能否可以限定這個類別物件的類別? 目前想到的解法是... 用id <UniqueProtocolName> aClassObject;來宣告 並且目標類別會confirm這個protocol (包含其subclasses) 這樣該我就可以限定一個類別物件是某群類別 但缺點是aClassObject應該也可以是instance object 不知道有沒有更好的方法? ※ 編輯: leondemon 來自: 114.136.120.154 (05/30 19:12)
文章代碼(AID): #1C0KhTP5 (MacDev)
討論串 (同標題文章)
文章代碼(AID): #1C0KhTP5 (MacDev)