处理searchresult

This commit is contained in:
2025-12-09 15:19:10 +08:00
parent ade23e7a20
commit 7b86b739eb

View File

@@ -426,34 +426,46 @@
} }
- (NSString *)kb_formattedSearchResultString:(id)dataValue { - (NSString *)kb_formattedSearchResultString:(id)dataValue {
// data
if (![dataValue isKindOfClass:[NSArray class]]) { return @""; } if (![dataValue isKindOfClass:[NSArray class]]) { return @""; }
NSArray *list = (NSArray *)dataValue; NSArray *list = (NSArray *)dataValue;
NSMutableArray<NSString *> *segments = [NSMutableArray array]; NSMutableArray<NSString *> *segments = [NSMutableArray array];
[list enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { [list enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
NSString *payload = nil; NSString *payload = nil;
if ([obj isKindOfClass:[NSDictionary class]]) { if ([obj isKindOfClass:[NSDictionary class]]) {
id val = obj[@"payload"]; id val = obj[@"payload"];
if ([val isKindOfClass:[NSString class]]) { if ([val isKindOfClass:[NSString class]]) {
payload = (NSString *)val; payload = (NSString *)val;
} }
} else if ([obj isKindOfClass:[NSString class]]) { } else if ([obj isKindOfClass:[NSString class]]) {
//
payload = (NSString *)obj; payload = (NSString *)obj;
} }
payload = [payload stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; payload = [payload stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
if (payload.length > 0) { if (payload.length > 0) {
NSString *line = [NSString stringWithFormat:@"%lu. %@", (unsigned long)(segments.count + 1), payload]; // payload
[segments addObject:line]; [segments addObject:payload];
} }
}]; }];
if (segments.count == 0) { return @""; } if (segments.count == 0) { return @""; }
NSString *title = KBLocalized(@"Search result");
NSMutableString *result = [NSMutableString stringWithFormat:@"\t%@:", title.length > 0 ? title : @"Search result"]; // \t KBStreamTextView \t label
for (NSString *line in segments) { NSMutableString *result = [NSMutableString string];
[result appendFormat:@"\t%@", line];
} [segments enumerateObjectsUsingBlock:^(NSString * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
// \t
[result appendFormat:@"\t%@", obj];
}];
return result; return result;
} }
- (NSString *)kb_pendingSplitSuffixForString:(NSString *)text { - (NSString *)kb_pendingSplitSuffixForString:(NSString *)text {
static NSString * const token = @"<SPLIT>"; static NSString * const token = @"<SPLIT>";
if (text.length == 0) { return @""; } if (text.length == 0) { return @""; }