2015-04-01 169 views
-1

这是我必须在主表格视图控制器上使用的代码我只是不知道如何去转换到新的视图控制器以显示选定的单元格有关选择任何单元格的更多内容。如何从Swift中的表格单元格中移除

import UIKit 

class MainVC: UITableViewController, UITableViewDelegate, UITableViewDataSource { 

@IBOutlet var Table1: UITableView! 
var postArray: [[String]] = [] 

var postSubject = "" 
var postDescription = "" 
var postDate = "" 

override func viewDidLoad() { 
    super.viewDidLoad() 
    fetchData() 
} 

func fetchData() { 
    println("success1") 
    postArray = [] 

    let httpMethod = "GET" 

    let timeout = 15 

    let urlAsString = "http://cgi.soic.indiana.edu/~team12/main_requests.php" 
    let url = NSURL(string: urlAsString)! 

    let urlRequest = NSMutableURLRequest(URL: url, 
     cachePolicy: .ReloadIgnoringLocalAndRemoteCacheData, 
     timeoutInterval: 15.0) 

    urlRequest.HTTPMethod = httpMethod 

    let queue = NSOperationQueue() 
    println("success2") 

    NSURLConnection.sendAsynchronousRequest(urlRequest, 
     queue: queue, 
     completionHandler: {(response: NSURLResponse!, 
      data: NSData!, 
      error: NSError!) in 

      if data.length > 0 && error == nil{ 
       let html = NSString(data: data, encoding: NSUTF8StringEncoding) 

      } else if data.length == 0 && error == nil{ 
       println("Nothing was downloaded") 
      } else if error != nil{ 
       println("Error happened = \(error)") 
      } 

      if data.length > 0 && error == nil { 
       let html = NSString(data: data, encoding: NSUTF8StringEncoding) 

       var newArrayofDicts : NSMutableArray = NSMutableArray() 
       var arrayOfDicts : NSMutableArray? = NSJSONSerialization.JSONObjectWithData(data, options:NSJSONReadingOptions.MutableContainers, error:nil) as? NSMutableArray 
       println("successmutable") 

       if arrayOfDicts != nil { 
        for item in arrayOfDicts! { 

         if var dict = item as? NSMutableDictionary{ 

          if dict["subject"] != nil{ 
           self.postSubject = dict["subject"] as String 
           self.postDescription = dict["subject"] as String 
           self.postDate = dict["date"] as String 
          self.postArray.append([self.postSubject,self.postDescription,self.postDate]) 
           println("successpost") 

          } 
         } 
        } 
       } 
      } 
     } 
    ) 
    sleep(1) 
} 


override func viewDidAppear(animated: Bool) { 
    super.viewDidAppear(animated) 
    fetchData() 
    tableView.reloadData() 
    println("successanime") 

} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
} 

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

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    println("successoverride") 

    let cell = tableView.dequeueReusableCellWithIdentifier("UpdateCell", forIndexPath: indexPath) 
     as UITableViewCell 
    println("successupdatecell") 

    cell.textLabel.text = postArray[indexPath.row][1] 

    cell.detailTextLabel?.text = postArray[indexPath.row][2] 

    println("success3") 
    return cell 
} 
+0

执行从表视图SEGUE cell与Swift无关,因为它不需要代码就可以做到。如果您正在讨论将数据传递给下一个控制器,请进行一些搜索。对此,有数百个答案。 – rdelmar 2015-04-01 02:34:49

回答

0

尝试此方法

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
... 
} 

或者你也可以按ctrl原型细胞拖动到下一viewController做直在故事板。

希望这有助于!

编辑

如果你想原因请看下一view controller编程,那么你可以做两种:

performSegueWithIdentifier("yourSegueName", sender: nil) 

或者:

presentViewController(nextViewController, animated: true, completion: nil) 
+0

当我们做了你所陈述的内容时,它创建了一个segue,但是当我们在模拟器中运行它时,它不会转换到新的视图控制器。 – CNC773 2015-04-02 02:14:27

相关问题