tingxins / InputKit

📝InputKit, an Elegant Kit to limits your input text, inspired by BlocksKit, written in both Objective-C & ⚡️Swift.

Home Page:https://tingxins.com/2017/06/input-kit-introduction/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

真正的代理里把text=nil出问题

devcxm opened this issue · comments

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text;

假如在真正的代理里执行以上方法时把textView.text=nil,再执行以下方法进行匹配就会出错

    BOOL flag = YES;
    id realDelegate = self.realDelegate;
    if (realDelegate && [realDelegate respondsToSelector:@selector(textView:shouldChangeTextInRange:replacementText:)])
        flag = [realDelegate textView:textView shouldChangeTextInRange:range replacementText:text];
    
    int matchResult = YES;
    
    if ([textView isKindOfClass:[TXLimitedTextView class]]) {
        TXLimitedTextView *limitedTextView = (TXLimitedTextView *)textView;
        
        NSMutableString *matchStr = [NSMutableString stringWithString:textView.text];

所以不管TXLimitedTextView还是TXLimitedTextField,在匹配正则时应该判断.text是否为空。

此处是越界问题,已容错处理。👀