在Swift中删除类实例

时间:2014-10-26 00:02:18

标签: model-view-controller swift uiviewcontroller

我试图完全理解在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实例感兴趣。如何删除以前的实例变量?

1 个答案:

答案 0 :(得分:3)

您不必删除它们,编译器会为您发布它们。

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

请参阅Swift编程指南中的ARC指南,了解使用ARC的Swift应用于对象生命周期的本地规则。