私はSwift5を使用しているiOSSwift開発者であり、Algoliaポッドをからpod 'AlgoliaSearch-Client-Swift', '~> 5.0'
に更新しましたpod 'InstantSearchClient', '~> 7.0'
。
ヘッダーをからに変更しimport AlgoliaSearch
ましたimport InstantSearchClient
これを行うと、Algoliaデータ型にアクセスできなくなります。
ドキュメントは言います:
let index = client.index(withName: "contacts")
index.search(Query(query: "s"), completionHandler: { (content, error) -> Void in
if error == nil {
print("Result: \(content!)")
}
})
ノーそのページにそれが何を言うんどこdatatype
のはclient
:私は野生の推測を取り、使用しているvar index: Client!
働いています。そのページがClient
データ型であることについて何も述べていない理由について、私は少し戸惑っています。
とにかく、アクセスできるようClient
になったので、index
またはsearch
プロパティにアクセスできなくなりました。
index
およびsearch
プロパティにアクセスするにはどうすればよいですか?
コードは次のとおりです。
// import AlgoliaSearch // this is from the old pod
import InstantSearchClient
var index: Client! // before changing the pod I used AlgoliaSearch.Index! which worked fine
let query = Query()
var searchId = 0
var loadedPage: UInt = 0
var nbPages: UInt = 0
override func viewDidLoad() {
super.viewDidLoad()
let apiClient = Client(appID: "12345", apiKey: "ABC...XYZ")
// *** error ***
index = apiClient.index(withName: "myIndex")
query.hitsPerPage = 15
query.attributesToRetrieve = ["flavor", "color"]
}
func updateSearchResults(for searchController: UISearchController) {
query.query = searchController.searchBar.text
let curSearchId = searchId
// *** error ***
index.search(query, completionHandler: { [weak self] (data, error) in
})
}
func loadMore() {
if loadedPage + 1 >= nbPages {
return
}
let nextQuery = Query(copy: query)
nextQuery.page = loadedPage + 1
// *** error ***
index.search(nextQuery, completionHandler: { [weak self] (data , error) in
})
}
Client
間違った答えでした。
古いものの下でimport AlgoliaSearch
私は使用しましたAlgoliaSearch.Index
が、新しいものの下でimport InstantSearchClient
私は使用しましたInstantSearchClient.Index
現在、宣言は次のとおりです。
var index: InstantSearchClient.Index!
完全なコードは次のとおりです。
import InstantSearchClient
var index: InstantSearchClient.Index! // this works :)
override func viewDidLoad() {
super.viewDidLoad()
// ...
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加