iOSアプリケーションを作成していますが、Osmosisを使用してウェブサイトからデータを取得し、アプリに表示しようとしています。これを行うために、私はusageに従っています。githubのreadmeファイルに記載されています。アレイを浸透で使用する
私の問題は、解析された情報を取得しようとするとエラーが発生することです。ここに私のコードの抜粋です:
class ViewController: UIViewController {
var array: [String] = []
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
Osmosis(errorHandler: { (error) -> Void in
print(error)
})
.get(NSURL(string: "www.mysite.com")!)
.find(OsmosisSelector(selector: ".quote"), type: .CSS)
.populate([
OsmosisPopulateKey.Single("quotes") : OsmosisSelector(selector: "tt_quotes b")
], type: .CSS)
.list { (dict) -> Void in
self.array.append(dict)
.start()
print(dict)
私は私のプロジェクトをビルドしようと、私は次のエラーを取得する:
ViewController.swift:34:35: Cannot convert value of type '[String : AnyObject]' to expected argument type 'String'
なぜ私のプロジェクトがクラッシュし、どのように私はすべき正しく動作させるために配列を宣言しますか?
var array: [[String : AnyObject]] = []
またはオブジェクトのいずれかの種類を保持するために[AnyObject]
を使用します。あなたはそれは、辞書を保持するために宣言を変更したい場合は
var array: [String] = []
:
おかげで、私はそれを行うとき、私は次のエラーを取得:
あなたの第二の問題については、あなたはあなたの閉鎖を閉じない 'ViewController.swift:34:28 :タプルタイプ '()'の値にメンバー 'start''がありません – Mehdi
@Mehdiはあなたの2番目の質問に答えるために私の答えを編集しました。 – JAL
愚かなエラー..ありがとう! – Mehdi