zoukankan      html  css  js  c++  java
  • IBOutletCollection 索引获取顺序问题

    在sb中绑定了一个IBOutletCollection后,根据索引获取元素发现和自己拖线时的顺序不同,有时又会根据顺序,不知道是xcode的bug还是本身就是无序的。

    在使用的时候直接排序:

    - (void)viewDidLoad
    {
     [super viewDidLoad];
     // Order the labels based on their y position
     self.labelsArray = [self.labelsArray sortedArrayUsingComparator:^NSComparisonResult(id label1, id label2) {
      if ([label1 frame].origin.y < [label2 frame].origin.y) return NSOrderedAscending;
      else if ([label1 frame].origin.y > [label2 frame].origin.y) return NSOrderedDescending;
      else return NSOrderedSame;
     }];
    }
    

     把数组进行排序:

    @interface NSArray (sortBy)
    - (NSArray*) sortByObjectTag;
    - (NSArray*) sortByUIViewOriginX;
    - (NSArray*) sortByUIViewOriginY;
    @end
    @implementation NSArray (sortBy)
    
    - (NSArray*) sortByObjectTag
    {
     return [self sortedArrayUsingComparator:^NSComparisonResult(id objA, id objB){
      return(
       ([objA tag] < [objB tag]) ? NSOrderedAscending :
       ([objA tag] > [objB tag]) ? NSOrderedDescending :
       NSOrderedSame);
     }];
    }
    
    - (NSArray*) sortByUIViewOriginX
    {
     return [self sortedArrayUsingComparator:^NSComparisonResult(id objA, id objB){
      return(
       ([objA frame].origin.x < [objB frame].origin.x) ? NSOrderedAscending :
       ([objA frame].origin.x > [objB frame].origin.x) ? NSOrderedDescending :
       NSOrderedSame);
     }];
    }
    
    - (NSArray*) sortByUIViewOriginY
    {
     return [self sortedArrayUsingComparator:^NSComparisonResult(id objA, id objB){
      return(
       ([objA frame].origin.y < [objB frame].origin.y) ? NSOrderedAscending :
       ([objA frame].origin.y > [objB frame].origin.y) ? NSOrderedDescending :
       NSOrderedSame);
     }];
    }
    
    @end

    然后包含头文件,你选择了它,该代码可以是:
    - (void)viewDidLoad
    {
     [super viewDidLoad];
     // Order the labels based on their y position
     self.labelsArray = [self.labelsArray sortByUIViewOriginY];
    }
  • 相关阅读:
    维控PLC与电流变送器modbus通讯获取电流变送器数据
    openmv第一次调试
    电流变送器(互感器)
    物联网数据采集
    STM32编程环境配置(kile5)
    开发日记9
    开发日记8
    开发日记7
    开发日记6
    开发日记5
  • 原文地址:https://www.cnblogs.com/lacklock/p/3763517.html
Copyright © 2011-2022 走看看