Here are two practical examples
Code: Select all
; >> Create mutable index set with indices 5 - 38 <<
range.NSRange\location = 5
range\length = 34
indexSet = CocoaMessage(0, 0, "NSMutableIndexSet indexSetWithIndexesInRange:@", @range)
; >> Shift indexes starting at index 17 <<
CocoaMessage(0, indexSet, "shiftIndexesStartingAtIndex:", 17, "by:", 54)
; >> Show indexes <<
index = CocoaMessage(0, indexSet, "firstIndex")
While index <> #NSNotFound
Debug index
index = CocoaMessage(0, indexSet, "indexGreaterThanIndex:", index)
Wend
Code: Select all
; >> Create mutable index set with indexes 5 - 38 <<
range.NSRange\location = 5
range\length = 34
indexSet = CocoaMessage(0, 0, "NSMutableIndexSet indexSetWithIndexesInRange:@", @range)
; >> Shift indexes starting at index 17 <<
CocoaMessage(0, indexSet, "shiftIndexesStartingAtIndex:", 17, "by:", 54)
; >> Copy indexes to array <<
count = CocoaMessage(0, indexSet, "count")
Dim indexes.i(count - 1)
CocoaMessage(0, indexSet, "getIndexes:", @indexes(), "maxCount:", count, "inIndexRange:", #nil)
; >> Show indexes <<
For i = 0 To count - 1
Debug indexes(i)
Next