このプロジェクトでは、私のアプリケーションにウェブページ(weather-forecast.com)のセクションを表示しようとしています。私は 'webContent'にhtmlコンテンツをダウンロードし、componentsSeparatedByStringを使用して、文字列の配列にhtmlコードを分割してから、私のアプリケーションに必要なインデックスを取得します。この部分は 'websiteArray 1'にあり、この値は文字列「ほとんど乾燥しています。非常に軽度です(土曜日の午後は最大17 ° C、金曜日は最低8 ° C)。サン・ナイトによるESE)。 °の代わりに& degが含まれており、文字列ByReplacingOccurrencesOfStringを使用して&°を°で置き換えようとしています。私はこのメソッドを文字列で呼び出すことはできませんが、NSStringだけでNSStringに文字列を変換しようとしましたが、現在は "[String] NSStringに変換できません"というエラーが表示されています。NSStringメソッドの問題、swiftのstringByReplacingOccurrenceOfStringを使用している問題
NSStringの配列やstringByReplacingOccurrenceOfStringメソッドを使用する別の方法に変換する方法については、誰でも正しい方向に向けることができますか?
let url = NSURL(string: "http://www.weather-forecast.com/locations/London/forecasts/latest")!
let task = NSURLSession.sharedSession().dataTaskWithURL(url) { (data, response, error) -> Void in
if let urlContent = data {
let webContent = NSString(data: urlContent, encoding: NSUTF8StringEncoding)
let websiteArray = webContent?.componentsSeparatedByString("3 Day Weather Forecast Summary:</b><span class=\"read-more-small\"><span class=\"read-more-content\"> <span class=\"phrase\">")
if websiteArray?.count > 0{
//print(websiteArray![1])
var weatherArrayWithDeg = websiteArray![1].componentsSeparatedByString("</span>")
// Need to convert to NSString to use stringByReplacingOccurenceOfString, want to separate '$deg;' for ' °'
let weatherArray = (weatherArrayWithDeg as NSString).stringByReplacingOccurrencesOfString("°", withString: " °")
print(weatherArrayWithDeg[0])
}
}
}
task.resume()
あなたの質問に直接答えはありませんが、 "°"は "HTML/XMLエンティティ"ですので、参考にしてください:http://stackoverflow.com/questions/25607247/how-do-i-decode- html-entities-in-swiftを使用します。 –
'weatherArrayWithDeg'は文字列の*配列*です。 –
weatherArrayWithDegが文字列ではないのはなぜですか?私はwebsiteArrayのインデックス1を使用しているので – Talcicio