我有一個名稱的東西,並且每個名稱都轉到另一個包含表(同一個)的視圖控制器。我需要根據它的名字來區分tableView中顯示的數據。通過文本排序表
這是我的代碼到目前爲止: 我在點擊一個名稱,它到我的表格視圖,但每個表具有相同的確切數據,它不會根據名稱更改。順便說一句,finishAdding意味着添加一個新的數據到我的表(它應該只出現在一個名字上)。
import UIKit
class EachInfo: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var addLogBtn: UIButton!
@IBOutlet weak var logTable: UITableView!
@IBOutlet weak var logBoxNew: UITextView!
var toDoData:NSDictionary = NSDictionary()
var logItems:NSMutableArray = NSMutableArray()
var oppoName = ""
override func viewDidAppear(animated: Bool) {
// loads all instead of certain ones
let userDefaultsL:NSUserDefaults = NSUserDefaults.standardUserDefaults()
let itemListFromUserDefaultsL:NSMutableArray? = userDefaultsL.objectForKey("itemList") as? NSMutableArray
if (itemListFromUserDefaultsL != nil){
logItems = itemListFromUserDefaultsL!
}
self.logTable.reloadData()
}
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
self.view.endEditing(true)
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var logCell: UITableViewCell = self.logTable.dequeueReusableCellWithIdentifier("logcell")! as UITableViewCell
var singleLogItem: NSDictionary = logItems.objectAtIndex(indexPath.row) as! NSDictionary
logCell.textLabel?.text = singleLogItem.objectForKey("itemLog") as? String
return logCell
}
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
// #warning Potentially incomplete method implementation.
// Return the number of sections.
return 1
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return logItems.count
}
override func viewDidLoad() {
super.viewDidLoad()
self.logTable.registerClass(UITableViewCell.self, forCellReuseIdentifier: "logcell")
self.logTable.dataSource = self
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
/*
// MARK: - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
// Get the new view controller using segue.destinationViewController.
// Pass the selected object to the new view controller.
}
*/
// change this to the opponentz platform and format. not actual software though
@IBAction func addLogAction(sender: AnyObject) {
}
@IBAction func finishAdding(sender: AnyObject) {
var userDefaultsL:NSUserDefaults = NSUserDefaults.standardUserDefaults()
var singleLogItem:NSMutableArray? = userDefaultsL.objectForKey("itemList") as? NSMutableArray
var DataSet:NSMutableDictionary = NSMutableDictionary()
DataSet.setObject(logBoxNew.text, forKey: "itemLog")
if ((singleLogItem) != nil){ //data already available
var newMutableListL:NSMutableArray = NSMutableArray();
for dictL:AnyObject in singleLogItem!{
newMutableListL.addObject(dictL as! NSDictionary)
}
userDefaultsL.removeObjectForKey("itemList")
newMutableListL.addObject(DataSet)
userDefaultsL.setObject(newMutableListL, forKey: "itemList")
}else{ //first opponentz item
userDefaultsL.removeObjectForKey("itemList")
singleLogItem = NSMutableArray()
singleLogItem!.addObject(DataSet)
userDefaultsL.setObject(singleLogItem, forKey: "itemList")
}
userDefaultsL.synchronize()
// let userDefaultsL:NSUserDefaults = NSUserDefaults.standardUserDefaults()
let itemListFromUserDefaultsL:NSMutableArray? = userDefaultsL.objectForKey("itemList") as? NSMutableArray
if (itemListFromUserDefaultsL != nil){
logItems = itemListFromUserDefaultsL!
}
self.logTable.reloadData()
}
}
不能幫助你解決你的問題,但你應該真正閱讀'if let'和'guard'語句。他們會刪除很多你的鍋爐板 – Alexander
這個名字應該如何改變事情......這與排序有什麼關係? –
@PhillipMills這個名字就像一個文件夾。我只想要爲每個名字提出某些事情。我只希望當他們以同樣的名字進入時出現的東西 –