2017-08-21 10 views
-3

私はfirebaseデータベースを作成していましたが、過去には得られないエラーが1つあります。それは言う:スレッド1 EXCエラー

thread 1 exc_bad_instruction (code=exc_i386_invop subcode=0x0)'

それはおそらく私が過去を見ている単純なものです。何か案は?

// 
// Database.swift 
// intern 
// 
// Created by Lani Daniels on 8/20/17. 
// Copyright © 2017 Lani Daniels. All rights reserved. 
// 

import UIKit 
import Firebase 
import FirebaseDatabase 

struct PostStruct { 
    let title: String 
    let message: String 
} 

class DatabaseViewController: UITableViewController { 
    var posts: [PostStruct] = [] 

    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 

     let cell = tableview.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) 

     let label1 = cell.viewWithTag(1)as! UILabel 
     label1.text=posts[indexPath.row].title 

BELOW // ERROR:スレッド1 EXC_BAD_INSTRUCTION(コード= exc_i386_invopサブコード= 0x0の) せLABEL2 = cell.viewWithTag(

はここでエラーがコードの行にあるコード&です2)として!最初のエラーのために[indexPath.row] .message

 return cell 
    } 
} 
+0

Swiftは大文字と小文字を区別します。 – rmaddy

+0

したがって、文法上のエラーを修正しましたが、下の行でエラーが発生しました。それは "スレッド1 exc_bad_instruction(code = exc_i386_invop subcode = 0x0)"と書いてあります。 – LaniMJ

+0

両方のラインでクラッシュすることはできません...どのラインがクラッシュしているか教えてください。 –

答えて

-1

UILabel label2.text =ポスト:1秒間のtableView

let cell = tableview.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) 

変更テーブルビュー: それはのように思えますUILabelではないコンセントにアクセスしようとしています。これをチェックしてください:

let label2 = cell.viewWithTag(2) as? UILabel 

このラベルは、ブレークポイントを使って確認してください。それは無しかもしれない。

また、店と2つのラベルでカスタムセルクラスを使用することをお勧めし、その後cellForRowAt方法でそのカスタムセルデキュー:

class CustomCell: UITableViewCell { 
     @IBOutlet weak var firstLabel: UILabel! 
     @IBOutlet weak var secondLabel: UILabel! 
} 

そして

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 

     let cell = tableview.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as? CustomCell 

     cell?.firstLabel.text=posts[indexPath.row].title 
     cell?.secondLabel.text=posts[indexPath.row].message 

    return cell! 
} 

とそうでありませんインターフェイスビルダーでセルのカスタムクラスを設定するのを忘れないでください

+0

Srsly、投票の結果は?どうして? – Woof

+2

私はdownvoteしませんでしたが、この質問は誤字として閉じられるはずです –

+0

したがって、私は文法上のエラーを修正しましたが、私は下の行にエラーを取得しました。それは "スレッド1 exc_bad_instruction(code = exc_i386_invop subcode = 0x0)"と書いてあります。 – LaniMJ

関連する問題