2016-04-14 8 views
0

私は動作しているコードがほとんどありますが、Xcodeは1行について不平を言います。私のプロジェクトには他にもいくつかのコードがあるので、それは問題ではないと思います。私は次のエラーを取得するUITableViewは宣言されていない型のセルですか?

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! SpecialCell 
    let maindata = values[indexPath.row] 
    cell.username.text = maindata["Username"] as? String 
    cell.password.text = maindata["Password"] as? String 
    cell.num.text = maindata["FavoriteNumber"] as? String 
    cell.info.text = maindata["Info"] as? String 
    return cell; 
} 

:「宣言されていない型 『SpecialCell』の使用」

は、私は、コードのこの部分を持っています。 残念ながら、私はどのようにSpecialCellに対処するのか分かりません。私はそれが私が忘れた小さな事だと思う。私は1時間以上のGoogle検索を行ったが、私はそれを理解していない。 上記の行で何かを変更すると、すべてのcell.username ....文が赤くなっています。

私がやったことは、新しいテーブルビューを作成し、それを自分のコードにリンクすることでした。だから私はこれを得る

@IBOutlet weak var tableView: UITableView! 

私はこのような識別子や何かを変更または設定する必要がありますか? このプロジェクトのアイデアは、JSONとデータを解析してこのテーブルに書き込むことです。解析コードは次のとおりです。

func parseJson() { 
    let url = NSURL(string: "http://an_url.com") 
    let data = NSData(contentsOfURL: url!) 
    values = try! NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers) as! NSArray 
    tableView.reloadData() 
} 

しかし、私はこの特別なトピックでは問題ではないと思います。 あなたは私のためのいくつかのヒントを持っているなら、それは素晴らしいだろう。

+0

UITableViewCellで変更し、動作しているかどうかお知らせください –

+0

ありがとうございました。コード補完でこれが推奨されたので、これを前に試しました。効果は、すべての私のcell.username ...ステートメントが赤くなっていることです。 – plategt

+0

これはおそらく、あなたがカスタムクラスを持つカスタムセルを持っていて、XCode IDEに適切な名前を与えていないからです:ストーリーボードのセルを選択し、属性インスペクタを開き、識別子を設定しますSpecialCellを入れる) –

答えて

0

それはカスタムセルの場合は、この

self.tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "SpecialCell") 

それとも

self.tableView.registerClass(SpecialCell.classForCoder(), forCellReuseIdentifier: "SpecialCell") 

のようなカスタムセルを宣言することができます。このSpecialCellの詳細を教えてください

0

あなたのヒントをありがとう。 もう少しわかりましたが、私はAndrew McKinleyが述べたように、SpecialCellはカスタムセルの定義です。解決策は、クラスSpecialCellを作成し、それにセルを定義することでした。 一度、私はこれをした、私は別のポイントに立ち往生。しかしそれは別の話です。

もう一度おねがいします。

関連する問題