MariaDB не поддерживается SonarQube, см. требования .
-[NSPasteboard types]
возвратит все доступные типы для данных по буферу обмена, но это должно возвратить их "в порядке, которым они были объявлены".
Документация для -[NSPasteboard declareTypes:owner:]
говорит, что "типы должны быть заказаны согласно предпочтению исходного приложения".
Правильно реализованный владелец области монтажа должен, поэтому, объявить самое богатое представление содержания (вероятно, исходное содержание) как первый тип; таким образом, разумное единственное представление должно быть:
[pb dataForType:[[pb types] objectAtIndex:0]]
Вы можете получать некоторое использование из +[NSPasteboard typesFilterableTo:]
. Я изображаю отрывок как это:
NSArray *allTypes = [pb types];
NSAssert([allTypes count] > 0, @"expected at least one type");
// We always require the first declared type, as a starting point.
NSMutableSet *requiredTypes = [NSMutableSet setWithObject:[allTypes objectAtIndex:0]];
for (NSUInteger index = 1; index < [allTypes count]; index++) {
NSString *aType = [allTypes objectAtIndex:index];
NSSet *filtersFrom = [NSSet setWithArray:[NSPasteboard typesFilterableTo:aType]];
// If this type can't be re-created with a filter we already use, add it to the
// set of required types.
if (![requiredTypes intersectsSet:filtersFrom])
[requiredTypes addObject:aType];
}
Я не уверен, насколько эффективный это было бы при выборе хороших типов, как бы то ни было.