【问题标题】:Delete class instances in Swift在 Swift 中删除类实例
【发布时间】:2014-10-26 00:02:17
【问题描述】:

我试图完全理解在 Swift 中创建类对象的过程。秉承MVC的思想,我有以下简单的类来表示我的数据模型:

// Person.swift

import Foundation

class Person {

    var first: String = "first"
    var last: String = "last"
}

在我的视图控制器中,我有两个IBOutlets 连接到UITextFields。使用IBAction 方法,我使用文本字段中的文本设置firstlast 变量。

//  ViewController.swift

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var firstName: UITextField!
    @IBOutlet weak var lastName: UITextField!

    // MARK: - Lifecycle
    override func viewDidLoad() {
        super.viewDidLoad()
    }

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

    // MARK: - IBAction
    @IBAction func addPerson(sender: AnyObject) {

        let peep = Person()
        peep.first = firstName.text
        peep.last = lastName.text
        println("\(peep.first) \(peep.last)")
    }
}

每次调用IBAction 方法时,都会创建Person 类的新实例。对于我的示例,我只对最新的 Person 实例感兴趣。如何删除之前的实例变量?

【问题讨论】:

    标签: model-view-controller swift uiviewcontroller


    【解决方案1】:

    您不必删除它们,编译器会为您释放它们。

    您正在创建一个 Person 对象。设置一些属性值,然后打印它。之后对象超出范围,此时,由于您没有对该对象的任何其他强引用,它最终将被释放。

    查看 Swift Programming Guide 中的 ARC 指南,了解使用 ARC 应用于 Swift 对象生命周期的本地规则。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-23
      • 1970-01-01
      • 2015-05-16
      相关资源
      最近更新 更多