我正在使用UIRefreshControl下拉以刷新iOS 6,它正在工作。我使用自定义委托在完成后进行更新,在这种方法中,

[self->refresh endRefreshing];

我宣布,
UIRefreshControl *refresh;

在界面文件中,因为我无法调用
[self->refresh endRefreshing]

通过自定义委托方法。

一切对于iOS 6都可以完美运行,但是在较低版本的iOS上,它会失败,因为“UIRefreshControl”仅在iOS 6及更高版本中可用。

我该如何有条件地声明它们,使其在iOS6及更低版本上均可使用?

最佳答案

  • 将实例变量声明为id
  • 在使用变量时将其强制转换为UIRefreshControl *
  • 在使用它的地方,请使用if (NSClassFromString(@"UIRefreshControl") != Nil) { ... }以确保UIRefreshControl可用。
  • 10-08 08:59
    查看更多