-1
私はとても速いので、私と一緒にクマに新しいです。別のビューからテーブルビューセルを挿入するにはどうすればいいですか?
私はユーザーが食料品リストを作成できる場所にアプリを作ろうとしています。私はいくつかのサンプルセルを持つカスタムセルを持つテーブルビューを持っています。ユーザーがアイテム、価格、アイテムの量を入力できる新しいビューを表示するボタンがあります。新しい項目でテーブルを更新したいボタンがあります。私はテーブルを更新するようには思えない。助けてください。
import UIKit
var list = ["Chips", "Milk", "Eggs", "Meat"]
var price = [3.99 , 4.99 , 5.99, 12.99]
var amount = [1 , 1 , 12 , 1 ]
var note = ["Need some cheetos!", "Chocolate or vanilla?", "" , "I LOVE RIBEYES!!!"]
class ListTableViewController: UITableViewController {
@IBOutlet var listTableView: UITableView!
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return list.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! ListCell
cell.itemName.text = list[indexPath.row]
/* cell.itemNote.text = note[indexPath.row]
let priceString = "$\(price[indexPath.row])"
cell.itemPrice.text = priceString
let amountString = "\(amount[indexPath.row])"
cell.itemAmount.text = amountString
*/
return cell
}
func insert() {
list.append("test")
let insertionIndexPath = NSIndexPath(forRow: list.count - 1, inSection: 0)
tableView.insertRowsAtIndexPaths([insertionIndexPath], withRowAnimation: .Automatic)
}
そして第二のクラス:ここ
は私が持っているコードです。
class AddItemViewController: UIViewController {
var listView: ListTableViewController?
var checkPrice : Double = 0
var checkAmount : Int = 1
@IBOutlet weak var itemNameTextbox: UITextField!
@IBOutlet weak var itemPriceTextbox: UITextField!
@IBOutlet weak var itemAmountTextbox: UITextField!
@IBOutlet weak var itemNoteTextbox: UITextField!
@IBAction func AddItemButton(sender: AnyObject) {
// Checks if price is a valid number
if (Double(itemPriceTextbox.text!) != nil){
checkPrice = Double(itemPriceTextbox.text!)!
print(checkPrice)
} else {
checkPrice = 0
print("ERROR: Didn't enter a number \(checkPrice)")
}
// Checks if amount is a valid number
if (Int(itemAmountTextbox.text!) != nil){
checkAmount = Int(itemAmountTextbox.text!)!
print(checkAmount)
} else {
checkAmount = 1
print("ERROR: Didn't enter a number \(checkAmount)")
}
//Updates the inforamtion in arrays
list.append(itemNameTextbox.text!)
price.append(checkPrice)
amount.append(checkAmount)
note.append(itemNoteTextbox.text!)
}
}
これは 'list.append(_)'、 'price.append()'、 'amount.append()'と呼ばれるタイプミスですか? 'ListView?.list.append()'、 'listView?.price.append()'などの代わりに 'AddItemsViewController'の@IBActionを使用していますか? – cpimhoff
私はそうは思わない、フィールドにテキストを追加すると、ボタンが押されたときに配列が正しく更新されているように見える。ただ、テーブルビューを更新するのは難しい。 –
これらのlist.append()、price.append listView?listTableView.reloadData()をどこかで呼び出す必要があります。 – onnoweb