2016-09-24 12 views
0

私は「スレッド1:exc_bad_access(コード= 2、アドレス= 0x16fc0bfefe8)エラーが発生しました。ログインした後にテーブルビューコントローラにアクセスするためのiOSアプリケーションを設定しました。チュートリアルhttp://shrikar.com/uitableview-and-uitableviewcell-customization-in-swift/しかし運これは、エラーが由来する私のdata.swiftファイルです:。data.entry.initの問題を解決できますか?

import Foundation 

class Data { 

class Entry: Data { 
    let filename : String 
    init(fname : String) { 
     self.filename = fname 
    } 

} 

let products = [ 
    Entry(fname: "placeholder1"), // <- Thread 1 error code shows in this line 
    Entry(fname: "placeholder2"), 
    Entry(fname: "placeholder3") 
] 

} 

HomeTableViewController.swift

import UIKit 

class HomeTableViewController: UITableViewController { 

let data = Data() 

override func viewDidLoad() { 
    super.viewDidLoad() 


override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 

// MARK: - Table view data source 

override func numberOfSections(in tableView: UITableView) -> Int { 
    return 1 
} 

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    return data.products.count 
} 


override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! HomeTableViewCell 
    let entry = data.products[indexPath.row] 
    let image = UIImage(named: entry.filename) 
    cell.bkImageView.image = image 

    return cell 
} 

HomeTableViewCell.swift

import UIKit 

class HomeTableViewCell: UITableViewCell { 

@IBOutlet weak var bkImageView: UIImageView! 
override func awakeFromNib() { 
    super.awakeFromNib() 
    // Initialization code 
} 

override func setSelected(_ selected: Bool, animated: Bool) { 
    super.setSelected(selected, animated: animated) 

    // Configure the view for the selected state 
} 

} 

何かお手伝いをお願いします。前もって感謝します。

答えて

0

問題は、この行です:あなたはプログラムがproductsEntry)の最初のメンバーの両方を初期化するの無限ループに入るDataのインスタンスを作成するときにDataからEntry継承しているので

class Entry: Data { 

とその親クラス、Data。代わりに、チュートリアルのとおり、このようにする必要があります。

class Entry { 
関連する問題