“NSClassFromString”在c99中无效

时间:2015-10-23 04:01:56

标签: ios objective-c

我的应用程序昨天运行良好,但总是无法在新的一天构建!我没有为代码和Xcode设置做任何事情并没有更新任何东西!但是错误“函数'NSClassFromString'的隐式声明在c99中无效“在构建项目时显示。我已经检查了堆栈溢出中的一些模拟问题,但没有任何对我有用。如果有人可以帮助我?

我的代码如下:

- (UIView*)indexView {
  Class indexViewClass = NSClassFromString(@"UITableViewIndex");
  NSEnumerator* e = [self.subviews reverseObjectEnumerator];
  for (UIView* child; child = [e nextObject]; ) {
    if ([child isKindOfClass:indexViewClass]) {
      return child;
     }
   }
   return nil;
 }

2 个答案:

答案 0 :(得分:0)

类indexViewClass,您必须确认要为indexViewClass分配的类类型,必须使用指针变量。

例如:UIView * view = NSClassFromString(@" LoginView");

Object view 是LoginView类的一个实例。

答案 1 :(得分:0)

"隐含声明无效"表示编译器没有看到此函数的原型。双击函数名称和"显示定义",然后确保包含正确的头文件。

使用[UITableViewIndex类]好多了。

顺便说一句。如果你说昨天编译,你没有改变任何东西,它今天没有编译,然后其他人做了改变。使用源代码控制系统或Time Machine备份获取昨天状态的副本并进行比较。可以免费获得差异工具。