Проверка CIFilter доступна в текущей iOS - PullRequest
1 голос
/ 06 января 2012

Я хотел бы использовать некоторые функциональные возможности iOS5, но по-прежнему собирать для iOS4 совместимо, но у меня возникла проблема. Обычно я бы использовал respondsToSelector:, но я не совсем уверен, является ли это правильным методом, или это именно то, что я должен вставить.

Я пытаюсь использовать CIFilter, который, насколько я понимаю, доступен только в iOS5 +, как бы проверить, доступен ли он в установленной в данный момент ОС?

Спасибо заранее.

Ответы [ 2 ]

4 голосов
/ 06 января 2012

Попробуйте использовать NSClassFromString(), чтобы определить, существует ли класс в текущей версии iOS.

Class filterClass = NSClassFromString(@"CIFilter");

if (!filterClass)
{
    // Must be less than 5.0. CIFilter doesn't exist.
}
else
{
    // CIFilter is available
    CIFilter *filter = [filterClass filterWithName:@"somefilter"];
}
1 голос
/ 07 января 2016

Swift:

if let filter = CIFilter(name: "CIComicEffect")
        {
            // Filter exist
        }
        else
        {
            // Filter does not exist
        }
...