2016-09-08 18 views
0

"Segmentation Fault:11"エラーが発生しました。なぜコードが定期的に白くなるのかわかりません。 ここに私のコードです。私のプロジェクトでは、APIを呼び出しています。これは正常に動作しています.Jsonの情報をデータベースに渡しているので、ビューコントローラーはデータストアの情報を使用してコレクションビューを作成します。なぜシグナルが原因でコマンドが失敗するのですか:Segmentation Fault:11 error

import Foundation 

class MovieDataBase 
{ 
    static let sharedInstance = MovieDataBase() 
    private init() {} 
    //creating a singleton for the MovieDataStore 

    var movies = [Movie]() 
    //array to store all the movie objects from the json 

    let movieSearchTerms = ["love", "fantasy", "romance", "mystery", "thriller", "musical", "family", "horror", "sci-fi"] 

    func getMoviesWithCompletion(completion:() ->()) { 

     let randomNum = arc4random_uniform(UInt32(movieSearchTerms.count)) 

     OMDBAPIClient.getMovieResultsFromSearch(self.movieSearchTerms[Int(randomNum)]) { (arrayOfMovies) in 
      for singleMovie in arrayOfMovies 
      { 

       let neededTitle = singleMovie["title"] as? String 
       let neededYear = singleMovie["year"] as? String 
       let neededImbdID = singleMovie["imdbID"] as? String 
       let neededType = singleMovie["type"] as? String 
       let neededPosterURL = singleMovie["posterURL"] as? String 

       guard let 
        unwrappedTitle = neededTitle, 
        unwrappedYear = neededType, 
        unwrappedImbdID = neededImbdID, 
        unwrappedType = neededType, 
        unwrappedPosterURL = neededPosterURL 

        else { print("AN ERROR OCCURRED HERE"); return } 

       var movie = Movie.init(title: unwrappedTitle, year: singleMovie["year"], imdbID: singleMovie["imbdID"], type: singleMovie["type"], posterURL: singleMovie["posterURL"]) 

       movies.append(movie) 
      } 
      completion() 
     } 

} 


} 
+0

エラーのスクリーンショットを追加できますか、それがどの行に表示されますか? –

+0

私の経験上、これはSwiftコンパイラのバグです。エラー全体のスクリーンショットを投稿できますか? –

+0

なぜMovie.initをやっているのか不思議です。コンストラクタ構文( 'Movie(title:...') –

答えて

0

私は、したがって、それはエラーのすべての種類を投げていたJSONから必要な情報の間違ったスペルを持っていたので、それが働いていなかった理由でした。次回は、郵便配達員のJSON情報を見て、あなたが書いたコードがJSONから必要な情報と一致することを確認してください。さもなければ、あなたはあらゆる種類のエラーに遭遇します。

関連する問題