Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 9 additions & 7 deletions Sources/DictionaryKit/TTTDictionary.m
Original file line number Diff line number Diff line change
Expand Up @@ -154,19 +154,21 @@ - (instancetype)initWithDictionaryRef:(DCSDictionaryRef)dictionary {
- (NSArray *)entriesForSearchTerm:(NSString *)term {
CFRange termRange = DCSGetTermRangeInString(self.dictionary, (__bridge CFStringRef)term, 0);
if (termRange.location == kCFNotFound) {
return nil;
return @[];
}

term = [term substringWithRange:NSMakeRange(termRange.location, termRange.length)];

NSArray *records = (__bridge_transfer NSArray *)DCSCopyRecordsForSearchString(self.dictionary, (__bridge CFStringRef)term, NULL, NULL);
if ([records count] == 0) {
return @[];
}

NSMutableArray *mutableEntries = [NSMutableArray arrayWithCapacity:[records count]];
if (records) {
for (id record in records) {
TTTDictionaryEntry *entry = [[TTTDictionaryEntry alloc] initWithRecordRef:(__bridge CFTypeRef)record dictionaryRef:self.dictionary];
if (entry) {
[mutableEntries addObject:entry];
}
for (id record in records) {
TTTDictionaryEntry *entry = [[TTTDictionaryEntry alloc] initWithRecordRef:(__bridge CFTypeRef)record dictionaryRef:self.dictionary];
if (entry) {
[mutableEntries addObject:entry];
}
}

Expand Down
53 changes: 26 additions & 27 deletions Sources/DictionaryKit/include/TTTDictionary.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,17 +30,17 @@
/**

*/
@property (readonly, nonatomic, copy) NSString *headword;
@property (readonly, nonatomic, copy, nullable) NSString *headword;

/**

*/
@property (readonly, nonatomic, copy) NSString *text;
@property (readonly, nonatomic, copy, nullable) NSString *text;

/**

*/
@property (readonly, nonatomic, copy) NSString *HTML;
@property (readonly, nonatomic, copy, nullable) NSString *HTML;

@end

Expand All @@ -54,47 +54,46 @@
/**

*/
@property (readonly, nonatomic, copy) NSString *name;
@property (readonly, nonatomic, copy, nullable) NSString *name;

/**

*/
@property (readonly, nonatomic, copy) NSString *shortName;
@property (readonly, nonatomic, copy, nullable) NSString *shortName;

/**

*/
+ (NSSet *)availableDictionaries;
+ (nonnull NSSet<TTTDictionary *> *)availableDictionaries;

/**

*/
+ (instancetype)dictionaryNamed:(NSString *)name;
+ (nullable instancetype)dictionaryNamed:(nonnull NSString *)name;

/**

*/
- (NSArray *)entriesForSearchTerm:(NSString *)term;

- (nonnull NSArray<TTTDictionaryEntry *> *)entriesForSearchTerm:(nonnull NSString *)term;
@end

/// @name Constants

extern NSString * const DCSAppleDictionaryName;
extern NSString * const DCSDutchDictionaryName;
extern NSString * const DCSFrenchDictionaryName;
extern NSString * const DCSGermanDictionaryName;
extern NSString * const DCSItalianDictionaryName;
extern NSString * const DCSJapaneseDictionaryName;
extern NSString * const DCSJapaneseSupaDaijirinDictionaryName;
extern NSString * const DCSJapanese_EnglishDictionaryName;
extern NSString * const DCSKoreanDictionaryName;
extern NSString * const DCSKorean_EnglishDictionaryName;
extern NSString * const DCSNewOxfordAmericanDictionaryName;
extern NSString * const DCSOxfordAmericanWritersThesaurus;
extern NSString * const DCSOxfordDictionaryOfEnglish;
extern NSString * const DCSOxfordThesaurusOfEnglish;
extern NSString * const DCSSimplifiedChineseDictionaryName;
extern NSString * const DCSSimplifiedChinese_EnglishDictionaryName;
extern NSString * const DCSSpanishDictionaryName;
extern NSString * const DCSWikipediaDictionaryName;
extern NSString * const _Nonnull DCSAppleDictionaryName;
extern NSString * const _Nonnull DCSDutchDictionaryName;
extern NSString * const _Nonnull DCSFrenchDictionaryName;
extern NSString * const _Nonnull DCSGermanDictionaryName;
extern NSString * const _Nonnull DCSItalianDictionaryName;
extern NSString * const _Nonnull DCSJapaneseDictionaryName;
extern NSString * const _Nonnull DCSJapaneseSupaDaijirinDictionaryName;
extern NSString * const _Nonnull DCSJapanese_EnglishDictionaryName;
extern NSString * const _Nonnull DCSKoreanDictionaryName;
extern NSString * const _Nonnull DCSKorean_EnglishDictionaryName;
extern NSString * const _Nonnull DCSNewOxfordAmericanDictionaryName;
extern NSString * const _Nonnull DCSOxfordAmericanWritersThesaurus;
extern NSString * const _Nonnull DCSOxfordDictionaryOfEnglish;
extern NSString * const _Nonnull DCSOxfordThesaurusOfEnglish;
extern NSString * const _Nonnull DCSSimplifiedChineseDictionaryName;
extern NSString * const _Nonnull DCSSimplifiedChinese_EnglishDictionaryName;
extern NSString * const _Nonnull DCSSpanishDictionaryName;
extern NSString * const _Nonnull DCSWikipediaDictionaryName;