是否可以将未知类型的参数传递给objective-C方法?
在C#中你可以写< T>实现这一点,但我知道Objective-C没有泛型,所以有没有其他方法可以在Objective-C中实现这一点?
我需要这个,因为我想创建一个方法来改变不同对象的文本颜色,如UITextField和UIButton的占位符文本.所以我的计划是创建一个名为textWhite的方法,然后在此方法中检查对象的类型,然后运行匹配的代码以使文本颜色变为白色.
解决方法
是的,可以传递未知类型的参数.见下面的例子.
-(void) fooMethod:(id)unknownTypeParameter { if( [unknownTypeParameter isKindOfClass:[Animal Class]]) { Animal *referanceObj = (Animal *) unknownTypeParameter; referanceObj.noOfLegs = 4; } }
请参考使用id对象的链接作为参数Using (id) in Objective-C