Ich bin mir bewusst, dass ich textView.dataDetectorTypes = UIDataDetectorTypeLink;
zur automatischen Erkennung von Links tun kann.Überprüfen, ob UITextView URL (boolescher Wert) oder URL-Extraktion hat
Nun scheint dies einfach, aber ich kann keinen Weg finden zu überprüfen, ob der DataDetector UITextView
tatsächlich eine Übereinstimmung gefunden hat.
Ich suche nach etwas wie BOOL hasLink = textView.hasLink;
oder BOOL hasLink = textView.text.hasLink;
oder vielleicht sogar eine Art und Weise einen Verweis auf die NSDataDetector
ziehen (ich wahrscheinlich NSDataDetector
Methoden verwenden, könnte zu überprüfen, aber ich würde bestätigen müssen, nur Ideen werfen)
Gibt es keine eingebaute Möglichkeit dies zu überprüfen oder muss ich es unabhängig bestätigen?
Edit:
So habe ich meine eigene NSDataDetector
nur, dies zu tun, (Code unten), aber es bleibt die Frage, ob es wirklich keine Möglichkeit, einen erfassten Datentyp zu extrahieren oder Bestätigung der Existenz eines erfassten Datentyp in einer UITextView
?
Dies ist, was ich verwendet, um mich zu überprüfen:
-(BOOL) doesTextHaveLink:(NSString *)text {
NSDataDetector *linkDetector = [NSDataDetector dataDetectorWithTypes:NSTextCheckingTypeLink error:nil];
NSArray *matches = [linkDetector matchesInString:text options:0 range:NSMakeRange(0, [text length])];
for (NSTextCheckingResult *match in matches) {
if ([match resultType] == NSTextCheckingTypeLink) {
return YES;
}
}
return NO;
}
Sie whant Textview contane URL oder nicht zu überprüfen? –