ios – 为目标c中的方法传递未知类型的参数,可能吗?

是否可以将未知类型的参数传递给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

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...