检查 iOS 中的可用过滤器:Core Image,来自 Swift
Check available filters in iOS: Core Image, via Swift
在 iOS 中可以使用 Objective-C 检查可用的过滤器,显然是这样的:
NSArray *Filters = [CIFilter filterNamesInCategory:kCICategoryBuiltIn]
Swift 如何完成这项检查?
也许这会让那些投票并要求关闭这个问题的人感到困惑。
让我换一种说法。
我想要 iOS 上每个可用过滤器的列表,我想用 Swift 发现该列表。
我本以为这应该很简单。但有两件事。
- 我不知道内置过滤器和插件过滤器有什么区别
- 不确定放置“nil”(如 Matt 所建议的那样)是指所有过滤器类别,还是不属于任何类别的过滤器
最简单形式的问题:
如何在 iOS 对 Core Image 的使用以及 Swift 中获取可用滤镜列表?
您被否决了,因为 the documentation answers your question directly:
Declaration
class func filterNames(inCategories categories: [String]?) -> [String]
Parameters
categories
One or more of the filter category keys defined in Filter Category Keys. Pass nil
to get all filters in all categories.
你说“不确定放置 "nil"(如 Matt 所建议的那样)意味着所有过滤器类别”,但它 是 确定的,因为文档告诉你这是。您没有仔细阅读文档,堆栈溢出的拥护者往往对此怀有敌意。
换句话说,如果您想要所有类别的所有过滤器:
let allFilterNamesRegardlessOfCategory = CIFilter.filterNames(inCategories: nil)
请注意,这可能 return 与 iOS 上的 CIFilter.filterNames(inCategories: kCICategoryBuiltIn)
不同的结果,但今天不会,因为今天 only macOS supports plugin filters.
更新
最后一段不准确。自 iOS 8 以来,应用程序已经能够创建和使用自己的 CIFilter
子类。仍然不支持将自定义 CIFilter
直接提供给除 macOS 以外的其他应用程序。
在 iOS 中可以使用 Objective-C 检查可用的过滤器,显然是这样的:
NSArray *Filters = [CIFilter filterNamesInCategory:kCICategoryBuiltIn]
Swift 如何完成这项检查?
也许这会让那些投票并要求关闭这个问题的人感到困惑。
让我换一种说法。
我想要 iOS 上每个可用过滤器的列表,我想用 Swift 发现该列表。
我本以为这应该很简单。但有两件事。
- 我不知道内置过滤器和插件过滤器有什么区别
- 不确定放置“nil”(如 Matt 所建议的那样)是指所有过滤器类别,还是不属于任何类别的过滤器
最简单形式的问题:
如何在 iOS 对 Core Image 的使用以及 Swift 中获取可用滤镜列表?
您被否决了,因为 the documentation answers your question directly:
Declaration
class func filterNames(inCategories categories: [String]?) -> [String]
Parameters
categories
One or more of the filter category keys defined in Filter Category Keys. Pass
nil
to get all filters in all categories.
你说“不确定放置 "nil"(如 Matt 所建议的那样)意味着所有过滤器类别”,但它 是 确定的,因为文档告诉你这是。您没有仔细阅读文档,堆栈溢出的拥护者往往对此怀有敌意。
换句话说,如果您想要所有类别的所有过滤器:
let allFilterNamesRegardlessOfCategory = CIFilter.filterNames(inCategories: nil)
请注意,这可能 return 与 iOS 上的 CIFilter.filterNames(inCategories: kCICategoryBuiltIn)
不同的结果,但今天不会,因为今天 only macOS supports plugin filters.
更新
最后一段不准确。自 iOS 8 以来,应用程序已经能够创建和使用自己的 CIFilter
子类。仍然不支持将自定义 CIFilter
直接提供给除 macOS 以外的其他应用程序。