NSMutableArray内置的方法-(void)replaceObjectsAtIndexes:(NSIndexSet*)set withObjects:(NSArray*)objs
隻能替換一段連續索引内的對象,比如2 to 10之間的對象,如果我想要替換1,3,5索引位置的對象需要自己寫代碼。
在ruby中對于數組對象有一個values_at方法可以取得不連續索引的對象:
如果是替換不連續索引的對象,稍微麻煩點:
如果idxes數量小于objs則忽略多餘的對象,反之如果idxes數量大于objs則用nil補足:
下面寫一個objc中類似的實作:
當然ruby裡也可以做類似的操作,why not?ruby比objc還要動态:
see!ruby擴充類要比objc簡單的多,是以看swift的了 :)