平時寫Demo會需要用到一些假數據,往往會需要用到數組、字典等,這里分享一個使用技巧,通過正則表達式快速的制造數據
例如,我需要在一個列表中展示一組數據:
第一步:先快速的包裝一個數組
NSArray *demoArr = @[
@{@"name":@"", @"backgroundColor": [UIColor redColor]},
@{@"name":@"", @"backgroundColor": [UIColor redColor]},
@{@"name":@"", @"backgroundColor": [UIColor redColor]},
@{@"name":@"", @"backgroundColor": [UIColor redColor]},
@{@"name":@"", @"backgroundColor": [UIColor redColor]},
@{@"name":@"", @"backgroundColor": [UIColor redColor]},
@{@"name":@"", @"backgroundColor": [UIColor redColor]},
@{@"name":@"", @"backgroundColor": [UIColor redColor]},
@{@"name":@"", @"backgroundColor": [UIColor redColor]},
];
數組中先寫了一個元素 , 然后進行CV操作
第二步:將backgroundColor
對應的值來進行下處理,接下來只需要補充name
的值即可,一般情況下,按照CV的方式把backgroundColor
的值粘過去就行了,這里演示另外一種方式來實現
NSArray *demoArr = @[
@{@"name":@"", @"backgroundColor": [UIColor redColor]},
@{@"name":@"", @"backgroundColor": [UIColor yellowColor]},
@{@"name":@"", @"backgroundColor": [UIColor purpleColor]},
@{@"name":@"", @"backgroundColor": [UIColor grayColor]},
@{@"name":@"", @"backgroundColor": [UIColor blueColor]},
@{@"name":@"", @"backgroundColor": [UIColor blackColor]},
@{@"name":@"", @"backgroundColor": [UIColor orangeColor]},
@{@"name":@"", @"backgroundColor": [UIColor greenColor]},
@{@"name":@"", @"backgroundColor": [UIColor cyanColor]},
];
第三步:使用正則表達式的方式,來補充前面缺少的部分 (關鍵部分)
1.復制一條數據 @"name":@"", @"backgroundColor": [UIColor redColor]
2.CMD+F快速查找,在Xcode頂部彈出的搜索欄中,點擊放大鏡按鈕
搜索.png
選擇
Edit Find Options...
選項Edit Find Options.png
在
Matching Style
后選擇Regular Expression
Regular Expression.png
3.選擇好后,將剛剛復制的一條數據粘貼到輸入框內
輸入框.png
4.因為存在
[]
中括號的原因,還不能進行匹配,需要進行轉義@"name":@"", @"backgroundColor": \[UIColor redColor\]
這樣才能進行數據匹配(一行)
轉移后匹配數據.png
5.偽造數據中前面都一樣,只有后面的顏色不同,想要實現全部的匹配,需要將不同處進行通配處理
將
RedColor
改為(.*?)
,這樣就通配了全部的數據通配.png
6.填充前面缺失的內容,將
Find
改為Replacement
Replacement.png
7.將搜索框內的內容復制一份到下面的輸入框內,這里代表將要將匹配到的數據替換成的內容
將需要填充的地方加上
$1(代表對應上面匹配條件的第一個小括號,如果有兩個括號,同理$2對應)
,除了前面需要將匹配到的顏色填充進去外,我們匹配到的數據原本顏色部分也需要改成$1
, @"name":@"$1", @"backgroundColor": \[UIColor $1\]
替換.png
8.最后點擊Replace按鈕,一組假數據就制造完成了
NSArray *demoArr = @[
@{@"name":@"redColor", @"backgroundColor": [UIColor redColor]},
@{@"name":@"yellowColor", @"backgroundColor": [UIColor yellowColor]},
@{@"name":@"purpleColor", @"backgroundColor": [UIColor purpleColor]},
@{@"name":@"grayColor", @"backgroundColor": [UIColor grayColor]},
@{@"name":@"blueColor", @"backgroundColor": [UIColor blueColor]},
@{@"name":@"blackColor", @"backgroundColor": [UIColor blackColor]},
@{@"name":@"orangeColor", @"backgroundColor": [UIColor orangeColor]},
@{@"name":@"greenColor", @"backgroundColor": [UIColor greenColor]},
@{@"name":@"cyanColor", @"backgroundColor": [UIColor cyanColor]},
];
雖然CV的方式不一定比這種方式慢,但多掌握一樣技能還是比較有用的.