1

iOS5 の機能の一部を使用したいのですが、iOS4 用に互換性を保ってビルドしたいのですが、問題が発生しています。通常、私はを使用しますrespondsToSelector:が、これが正しい方法であるかどうか、またはそれが正確に挿入する必要があるかどうかは正確にはわかりません。

私が理解していることから、iOS5+内でのみ利用可能なCIFilterを使用しようとしていますが、これが現在インストールされているOS内で利用可能かどうかを確認するにはどうすればよいですか?

ありがとうございます。

4

2 に答える 2

4

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"];
}
于 2012-01-06T18:57:48.487 に答える
1

迅速:

if let filter = CIFilter(name: "CIComicEffect")
        {
            // Filter exist
        }
        else
        {
            // Filter does not exist
        }
于 2016-01-07T12:10:54.260 に答える