zoukankan      html  css  js  c++  java
  • ios之快速枚举

    for(UIView * subView in self.view.subviews)

    {

      if([subView isKindOfClass:[XYZSeniorQueryView class]])

     {

        [subView removeFromSuperview];

        subView = nil;//错误

     }

    }

    错误提示信息:

     Fast enumeration variables can't be modified in ARC by default;declare the variable __strong to allow this

     

    也就是说:

     快速枚举变量在ARC下默认不能修改其引用属性,声明变量为__strong允许这样。

    按照提示修改上面的语句:

     for(__strong UIView * subView in self.view.subviews)

     或者

     for(UIView __strong * subView in self.view.subviews)

    这样就可以正常运行了。

    另外,OC中有一个专门的快速枚举的迭代器类NSEnumerator,这个类的使用方法如下:

     //得到一个对应的enumerator对象

     NSEnumerator * enumerator = [self.view.subviews reverseObjectEnumerator];

     for(UIView * views = [enumerator nextObject];;)//遍历

     {

     if([views isKindOfClass:[XYZSeniorQueryView class]])

     {

     [views removeFromSuperview];

     views = nil;

     }

    }

     
     转:http://lqcjdx.blog.163.com/blog/static/20748924120139501547298/
     
     
     
  • 相关阅读:
    C#三元运算符
    WIN系统查询版本
    C# switch 语句
    C#反编译
    AssemblyInfo.cs 文件信息
    win系统如何在桌面显示我的电脑
    MVC传值前台
    js去除html标记
    打开页面跳转到区域下的控制器
    Hive常用操作之数据导入导出
  • 原文地址:https://www.cnblogs.com/ygm900/p/4105381.html
Copyright © 2011-2022 走看看