追加数组时要字符串化的任何对象

马丁

我试图textLabel在我正在检查的第一个单元格中获得名称tableView,但似乎无法将AnyObject转换后的结果转换为字符串。我的错误说:

fatal error: unexpectedly found nil while unwrapping an Optional value

它出现在我的代码的最后一行。

var stringList = [String]()

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

    let mySelectedCell: UITableViewCell = tableView.cellForRowAtIndexPath(indexPath)!

    if (mySelectedCell.accessoryType == UITableViewCellAccessoryType.Checkmark) {
        mySelectedCell.accessoryType = UITableViewCellAccessoryType.None           
    }
    else {
        mySelectedCell.accessoryType = UITableViewCellAccessoryType.Checkmark
        mySelectedCell.tintColor = UIColor.blackColor()

        if let tx = mySelectedCell.textLabel?.text as Optional{

            stringList.append(tx)}
         }        
    }
}

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    var destVC: AddFriendViewController = segue.destinationViewController as AddFriendViewController

        destVC.viewOut.text! = stringList[0] as String
}

任何有关如何进行的想法将不胜感激。

编辑:目标VC的代码:

@IBOutlet weak var usernameLabel: UITextField!

@IBOutlet weak var viewOut: UITextField!

var viewer:String = String()

override func viewDidLoad() {
    super.viewDidLoad()

    viewOut.text = viewer

    // Do any additional setup after loading the view.
}

编辑2:通过替换prepareForSegue函数我摆脱了我的错误,但标签仍然不显示任何文本。

func friendAdded(){

    var destVC: AddFriendViewController = AddFriendViewController()
        destVC.viewer = stringList[0]    
}

有几个问题:

  1. 您不能让源控制器尝试访问IBOutlet目标的。prepareForSegue调用时,IB出口引用的控件尚未创建,因此viewOut无疑仍然是nil

    因此,而不是prepareForSegue执行以下操作:

    destVC.viewOut.text! = stringList[0] as String
    

    相反,它应该只设置String属性viewer

    destVC.viewer = stringList[0]
    

    然后viewDidLoad目的地的会填充从被调用方调用UITextField控件viewOutStringviewer

    viewOut.text = viewer
    
  2. 从代码示例中还不能完全清楚,但是似乎您可能同时拥有didSelectRowAtIndexPath从单元格到目标视图控制器方法和序列。(我猜这是因为我在这里看不到任何以编程方式启动segue的东西。)

    如果是这样,那就是一个问题,因为segue可能 didSelectRowAtIndexPath被调用之前执行(即,您会看到prepareForSegue被调用before didSelectRowAtIndexPath)。要解决此问题,请从单元格到下一个场景删除序列,而要在两个场景本身之间保留序列。(也就是说,选择单元格时不会自动调用segue。)如果为该segue赋予了唯一的故事板ID,则可以通过以下方式以编程方式调用它didSelectRowAtIndexPath

    override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
        let mySelectedCell: UITableViewCell = tableView.cellForRowAtIndexPath(indexPath)!
        if let tx = mySelectedCell.textLabel?.text as String? {
            stringList.append(tx)
        }
    
        performSegueWithIdentifier("yourseguestoryboardidhere", sender: self)
    }
    
  3. 这有点学术性(与手头的问题无关),但是您通常不应该从单元中检索要传递到下一个场景的文本。您确实应该回到模型。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

追加数组时要字符串化的任何对象

来自分类Dev

检查字符串字符时,onChange会多次追加数据

来自分类Dev

验证字符串时,将字符串追加到字符串数组。C ++

来自分类Dev

验证字符串时,将字符串追加到字符串数组。C ++

来自分类Dev

在awk中,遇到新字符串时如何增加数组索引?

来自分类Dev

数组要字符串化并替换数组中的最后一个逗号(不是字符串)

来自分类Dev

JSON字符串化具有属性的对象数组

来自分类Dev

初始化向量字符串数组时出错

来自分类Dev

PHP 数组字符串键在末尾添加数字

来自分类Dev

将任何对象存储为字符串,但将其存储为类型化对象,或将任何类型的非字符串属性映射到字符串列

来自分类Dev

从字符串对象数组中选择排序字符串而不导入除Scanner(提供的代码)以外的任何内容?

来自分类Dev

从字符串数组创建对象数组

来自分类Dev

如果对象在数组中包含任何子字符串

来自分类Dev

将数组中任何json对象的键值的类型从字符串更改为float / double

来自分类Dev

如果对象在数组中包含任何子字符串

来自分类Dev

从除字符串以外的任何类型转换为浮点数时,为什么要先转换为整数?

来自分类Dev

从字符串数组中删除字符串对象

来自分类Dev

将任何类型的任何数组转换为字符串

来自分类Dev

检查字符串是否匹配字符串数组中的任何字符串?

来自分类Dev

Node JS中的JSON字符串化未序列化对象数组

来自分类Dev

模型助手:要检查循环的字符串数组

来自分类Dev

如何包含所有要数组的字符串?

来自分类Dev

对象数组中的子字符串

来自分类Dev

从对象数组创建字符串

来自分类Dev

用字符串数组循环对象

来自分类Dev

对象从数组到字符串

来自分类Dev

数组中的对象到字符串

来自分类Dev

解析字符串对象数组

来自分类Dev

Python中要字符串化的元组列表

Related 相关文章

  1. 1

    追加数组时要字符串化的任何对象

  2. 2

    检查字符串字符时,onChange会多次追加数据

  3. 3

    验证字符串时,将字符串追加到字符串数组。C ++

  4. 4

    验证字符串时,将字符串追加到字符串数组。C ++

  5. 5

    在awk中,遇到新字符串时如何增加数组索引?

  6. 6

    数组要字符串化并替换数组中的最后一个逗号(不是字符串)

  7. 7

    JSON字符串化具有属性的对象数组

  8. 8

    初始化向量字符串数组时出错

  9. 9

    PHP 数组字符串键在末尾添加数字

  10. 10

    将任何对象存储为字符串,但将其存储为类型化对象,或将任何类型的非字符串属性映射到字符串列

  11. 11

    从字符串对象数组中选择排序字符串而不导入除Scanner(提供的代码)以外的任何内容?

  12. 12

    从字符串数组创建对象数组

  13. 13

    如果对象在数组中包含任何子字符串

  14. 14

    将数组中任何json对象的键值的类型从字符串更改为float / double

  15. 15

    如果对象在数组中包含任何子字符串

  16. 16

    从除字符串以外的任何类型转换为浮点数时,为什么要先转换为整数?

  17. 17

    从字符串数组中删除字符串对象

  18. 18

    将任何类型的任何数组转换为字符串

  19. 19

    检查字符串是否匹配字符串数组中的任何字符串?

  20. 20

    Node JS中的JSON字符串化未序列化对象数组

  21. 21

    模型助手:要检查循环的字符串数组

  22. 22

    如何包含所有要数组的字符串?

  23. 23

    对象数组中的子字符串

  24. 24

    从对象数组创建字符串

  25. 25

    用字符串数组循环对象

  26. 26

    对象从数组到字符串

  27. 27

    数组中的对象到字符串

  28. 28

    解析字符串对象数组

  29. 29

    Python中要字符串化的元组列表

热门标签

归档