1. 程式人生 > >iOS開發-NSAarray數字組的元素去重-OC操作中陣列元素的去重樣例

iOS開發-NSAarray數字組的元素去重-OC操作中陣列元素的去重樣例

最近接手的是Toshiba公司的藍芽印表機專案其實藍芽做很久了····我都噁心了,慶幸的是在日本除了看國內視訊有限制以外別的都還好

(╯‵□′)╯︵┻━┻ 迴歸正題

很多時候我們接收資料,都存在字典或是數組裡面,這些時候如果每一次來的資料有規律我們很好處理但如果是不定時不定量的訊息我們就需要去處理他,比如我的藍芽實時搜尋裝置,會不斷的有新的裝置加入或是丟失,我們需要配合tableview來顯示,這時候我們還怎麼辦?

舉例:

設定Betv是個類,就是我們資料不斷新增的,_dataArr 是我們使用的陣列,tempArray是臨時去重用的

Betv * item = [[Betv alloc]init];
NSMutableArray *tempArray = [[NSMutableArrayalloc]initWithArray:_dataArr];
// 開始去重
if (_dataArr ==nil) {
    tempArray addObject:(item)];
}else{
      for (int i =0; i <_dataArr.count; i++) {
      Betv *itema = (Betv *)[_dataArrobjectAtIndex:i];
// 假設一個屬性來做對比
      if (itema.name != item.name) {
          [tempArray addObject:(item)];
      }
   }
}
_dataArr = tempArray;

最後出來的_dataArr就是去重過後的陣列根據處理結果變化

我們需要做的就是[tableview reloaddata];