macOS/iOS API解説

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。2010年代に書かれた内容です。今後更新はありません。

目次

searchString:inUserInterfaceItemString:searchRange:foundRange:

INDEX>AppKit>NSApplication

文字列の検索

Objective-C

- (BOOL)searchString:(NSString *)searchString
inUserInterfaceItemString:(NSString *)stringToSearch
         searchRange:(NSRange)searchRange
          foundRange:(NSRange *)foundRange

Swift

func searchString(_ searchString: String,
inUserInterfaceItemString stringToSearch: String,
              searchRange searchRange: NSRange,
               foundRange foundRange: UnsafeMutablePointer<NSRange>) -> Bool

解説

返り値

Objective-C

BOOL 

Swift

Bool

マッチするかどうか

引数

Objective-C

(NSString *)searchString

Swift

_ searchString: String

検索文字列

Objective-C

(NSString *)stringToSearch

Swift

inUserInterfaceItemString stringToSearch: String

検索される文字列

Objective-C

(NSRange)searchRange

Swift

searchRange searchRange: NSRange

検索範囲

Objective-C

(NSRange *)foundRange

Swift

foundRange foundRange: UnsafeMutablePointer<NSRange>

マッチした元の文字列の範囲

フレームワーク

ApplicationKit

クラス

NSApplication

使用可能

10.6

更新時のバージョン

OS X 10.10

参照

関連記事

例文

Objective-C

Swift

    //NSUserInterfaceItemSearchingプロトコルのメソッド(必須)Helpの検索に文字を入れるとその情報が取得できる
    func searchForItemsWithSearchString(searchString: String, resultLimit: Int, matchedItemHandler handleMatchedItems: ([AnyObject]!) -> Void)
    {
        NSLog("searchForItemsWithSearchString %@",searchString)
        
        //文字列検索
        let anApplication = MyApplication.sharedApplication()
        var range : NSRange = NSMakeRange(0, 1)
        var afterRange : NSRange = NSMakeRange(0, 0)
        
        var result : Bool = anApplication.searchString(searchString,
            inUserInterfaceItemString: "quit",
            searchRange: NSMakeRange(0, searchString.utf16Count),
            foundRange: &afterRange  )
        NSLog("%d,%d",afterRange.location,afterRange.length)
        if result {
            NSLog("YES")
        }
        
    }