@@ -163,8 +163,7 @@ + (void)qmuisafety_NSString {
163163 BOOL isValidatedIndex = index <= selfObject.length ;
164164 if (!isValidatedIndex) {
165165 NSString *logString = [NSString stringWithFormat: @" %@ 传入了一个超过字符串长度的 index: %@ ,原字符串为: %@ (%@ )" , NSStringFromSelector (originCMD), @(index), selfObject, @(selfObject.length)];
166- NSAssert (NO , logString);
167- QMUILogWarn (@" QMUIStringSafety" , @" %@ " , logString);
166+ QMUIAssert (NO , @" QMUIStringSafety" , @" %@ " , logString);
168167 return @" " ;// 系统 substringFromIndex: 返回值的标志是 nonnull
169168 }
170169 }
@@ -176,8 +175,7 @@ + (void)qmuisafety_NSString {
176175 BOOL isValidatedIndex = range.location == index || NSMaxRange (range) == index;
177176 if (!isValidatedIndex) {
178177 NSString *logString = [NSString stringWithFormat: @" 试图在 ComposedCharacterSequence 中间用 %@ 裁剪字符串,可能导致乱码、crash。原字符串为“%@ ”(%@ ),index 为 %@ ,命中的 ComposedCharacterSequence range 为 %@ " , NSStringFromSelector (originCMD), selfObject, @(selfObject.length), @(index), NSStringFromRange (range)];
179- NSAssert (NO , logString);
180- QMUILogWarn (@" QMUIStringSafety" , @" %@ " , logString);
178+ QMUIAssert (NO , @" QMUIStringSafety" , @" %@ " , logString);
181179 index = range.location ;
182180 }
183181 }
@@ -200,8 +198,7 @@ + (void)qmuisafety_NSString {
200198 BOOL isValidatedIndex = index <= selfObject.length ;
201199 if (!isValidatedIndex) {
202200 NSString *logString = [NSString stringWithFormat: @" %@ 传入了一个超过字符串长度的 index: %@ ,原字符串为: %@ (%@ )" , NSStringFromSelector (originCMD), @(index), selfObject, @(selfObject.length)];
203- NSAssert (NO , logString);
204- QMUILogWarn (@" QMUIStringSafety" , @" %@ " , logString);
201+ QMUIAssert (NO , @" QMUIStringSafety" , @" %@ " , logString);
205202 return @" " ;// 系统 substringToIndex: 返回值的标志是 nonnull,但返回 nil 比返回 @"" 更安全
206203 }
207204 }
@@ -213,8 +210,7 @@ + (void)qmuisafety_NSString {
213210 BOOL isValidatedIndex = range.location == index;
214211 if (!isValidatedIndex) {
215212 NSString *logString = [NSString stringWithFormat: @" 试图在 ComposedCharacterSequence 中间用 %@ 裁剪字符串,可能导致乱码、crash。原字符串为“%@ ”(%@ ),index 为 %@ ,命中的 ComposedCharacterSequence range 为 %@ " , NSStringFromSelector (originCMD), selfObject, @(selfObject.length), @(index), NSStringFromRange (range)];
216- NSAssert (NO , logString);
217- QMUILogWarn (@" QMUIStringSafety" , @" %@ " , logString);
213+ QMUIAssert (NO , @" QMUIStringSafety" , @" %@ " , logString);
218214 index = range.location ;
219215 }
220216 }
@@ -238,8 +234,7 @@ + (void)qmuisafety_NSString {
238234 BOOL isValidddatedRange = NSMaxRange (range) <= selfObject.length ;
239235 if (!isValidddatedRange) {
240236 NSString *logString = [NSString stringWithFormat: @" %@ 传入了一个超过字符串长度的 range: %@ ,原字符串为: %@ (%@ )" , NSStringFromSelector (originCMD), NSStringFromRange (range), selfObject, @(selfObject.length)];
241- NSAssert (NO , logString);
242- QMUILogWarn (@" QMUIStringSafety" , @" %@ " , logString);
237+ QMUIAssert (NO , @" QMUIStringSafety" , @" %@ " , logString);
243238 return @" " ;// 系统 substringWithRange: 返回值的标志是 nonnull
244239 }
245240 }
@@ -251,8 +246,7 @@ + (void)qmuisafety_NSString {
251246 BOOL isValidddatedRange = range.length == 0 || NSEqualRanges (range, range2);
252247 if (!isValidddatedRange) {
253248 NSString *logString = [NSString stringWithFormat: @" 试图在 ComposedCharacterSequence 中间用 %@ 裁剪字符串,可能导致乱码、crash。原字符串为“%@ ”(%@ ),range 为 %@ ,命中的 ComposedCharacterSequence range 为 %@ " , NSStringFromSelector (originCMD), selfObject, @(selfObject.length), NSStringFromRange (range), NSStringFromRange (range2)];
254- NSAssert (NO , logString);
255- QMUILogWarn (@" QMUIStringSafety" , @" %@ " , logString);
249+ QMUIAssert (NO , @" QMUIStringSafety" , @" %@ " , logString);
256250 range = range2;
257251 }
258252 }
0 commit comments