我试图完全理解在Swift中创建类对象的过程。坚持MVC的想法,我有以下简单的类来表示我的数据模型:
// Person.swift
import Foundation
class Person {
var first: String = "first"
var last: String = "last"
}
在我的视图控制器中,我有两个IBOutlets
连接到UITextFields
。使用IBAction
方法,我使用文本字段中的文本设置first
和last
变量。
// 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
实例感兴趣。如何删除以前的实例变量?
答案 0 :(得分:3)
您不必删除它们,编译器会为您发布它们。
您正在创建一个Person对象。设置一些属性值然后打印它。之后,该对象超出了范围,此时,由于您没有对该对象的任何其他强引用,它最终将被释放。
请参阅Swift编程指南中的ARC指南,了解使用ARC的Swift应用于对象生命周期的本地规则。