最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

iOS 9 Core Spotlight搜索實(shí)例代碼

 更新時(shí)間:2016年07月22日 09:11:44   投稿:lqh  
本文主要講解 iOS 9 Core Spotlight,在 IOS 開(kāi)發(fā)的時(shí)候有時(shí)候會(huì)用到搜索功能,這里給大家一個(gè)實(shí)例作為參考,有需要的小伙伴可以參考下

前言

  感覺(jué) Spotlight 這個(gè)功能還是蠻有用的,能提升用戶活躍,增加應(yīng)用內(nèi)容曝光幾率。

正文

  一、實(shí)現(xiàn)(iOS 9.0)

    1.1  添加索引

 var searchableItems = [CSSearchableItem]()
              for app in apps {
                let searchableItemAttributeSet = CSSearchableItemAttributeSet(itemContentType: kUTTypeText as String)
                searchableItemAttributeSet.title = app.label
                searchableItemAttributeSet.contentDescription = "Watch \(app.label) LIVE on Shou"
                let searchableItem = CSSearchableItem(uniqueIdentifier: app.id, domainIdentifier: "youappbundlerid.apps", attributeSet: searchableItemAttributeSet)
                
                searchableItems.append(searchableItem)
              }

              CSSearchableIndex.defaultSearchableIndex().indexSearchableItems(searchableItems, completionHandler: { (error: NSError?) in
                if error == nil {
                  print("initSpotlight...completed")
                } else {
                  print("\(error)")
                }
              })

一定要注意把上面代碼加到子線程里面執(zhí)行,略慢。可以在 AppDelegate 里面從服務(wù)器請(qǐng)求完數(shù)據(jù)再加索引的。

    1.2  接收點(diǎn)擊事件

 @available(iOS 8.0, *)
  func application(application: UIApplication, continueUserActivity userActivity: NSUserActivity, restorationHandler: ([AnyObject]?) -> Void) -> Bool {
    if #available(iOS 9.0, *) {
      if userActivity.activityType == CSSearchableItemActionType {
        if let uniqueIdentifier = userActivity.userInfo?[CSSearchableItemActivityIdentifier] as? String, let label = userActivity.title {
          // 頁(yè)面跳轉(zhuǎn)
        }
      }
    }
    return true
  }

二、額外經(jīng)驗(yàn)

    2.1  CSSearchableItemAttributeSet

    可以不設(shè)置 thumbnailData ,這樣默認(rèn)就是當(dāng)前應(yīng)用的 LOGO;另外注意 thumbnailURL 并不是用來(lái)指定網(wǎng)絡(luò)圖片地址的 - - #,所以你要加縮略圖的話需要先把網(wǎng)上的下載到本地再設(shè)置

    2.2  CSSearchableItem

    默認(rèn)失效是一個(gè)月,另外發(fā)現(xiàn)無(wú)法攜帶更多數(shù)據(jù)(比如通過(guò) CSSearchableItemAttributeSet 的 setValue ,在 userActivity 那邊都接收不到)

    2.3  沒(méi)有找到索引條數(shù)的限制

    http://stackoverflow.com/questions/35284223/is-there-a-limit-for-number-of-items-cssearchableitem-in-core-spotlight-cssear

    我發(fā)現(xiàn)添加索引還是挺慢的,另外那個(gè)批量索引沒(méi)弄懂,感覺(jué)應(yīng)該是又有刪除又有新增的話適合批量處理。

    2.4  沒(méi)用找到重新索引的方法

    重復(fù)調(diào)用也沒(méi)用問(wèn)題,只要 uniqueIdentifier 匹配會(huì)覆蓋老的數(shù)據(jù)

    2.5  沒(méi)有找到提升排名的方法

    好像系統(tǒng)會(huì)有一套算法來(lái)自動(dòng)提升排名。

總結(jié):以上就是 IOS 開(kāi)發(fā) Core Spotlight 實(shí)例應(yīng)用,以及經(jīng)驗(yàn)分享,希望能幫助開(kāi)發(fā)IOS的同學(xué)。

相關(guān)文章

最新評(píng)論

临夏县| 保山市| 得荣县| 苏尼特左旗| 碌曲县| 敦化市| 灌阳县| 陇西县| 刚察县| 临夏市| 麻栗坡县| 滦南县| 邹城市| 白银市| 吉林市| 仙居县| 千阳县| 勐海县| 赫章县| 双峰县| 无棣县| 开远市| 辽中县| 绵阳市| 高安市| 卓尼县| 南开区| 梁平县| 长治市| 龙游县| 偃师市| 翼城县| 南康市| 石屏县| 光泽县| 延川县| 游戏| 嘉定区| 依兰县| 章丘市| 南乐县|