我有2个文件init_env_heap + NUM_ELEM
和ProductTableViewCotrollers.swift
我在名为Product.swift
的{{1}}中声明了一个类,我正在尝试初始化并在Product.swift
中使用它但没有成功。
这是我的Product
ProductTableViewCotrollers.swift
和ProductTableViewCotrollers.swift
class ProductsTableViewController: UITableViewController {
let p1 = Product()
let p2 = Product()
let p3 = Product()
let p4 = Product()
p1.name = ""
//////......
Bot文件具有相同的目标Product.swift
这是错误,说没有定义
我正在使用Xcode import Foundation
import UIKit
class Product {
var name: String?
var image: UIImage?
var cellImage: UIImage?
}
和osx Phones
答案 0 :(得分:1)
在其中一个ViewController生命周期方法中设置属性
class TableViewController: UITableViewController {
let p1 = Product()
let p2 = Product()
let p3 = Product()
let p4 = Product()
override func viewDidLoad() {
super.viewDidLoad()
p1.name = ""
}
答案 1 :(得分:1)
您只能在类中的方法外声明变量或创建对象。所以let p1 = Product()
是方法之外的有效语句。这是具有初始化的类的全局变量声明。要访问此类的任何对象,您需要访问方法内部。请在viewDidLoad
-
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
p1.name = ""
p2.name = ""
}
答案 2 :(得分:1)
您可以使用闭包初始化属性:
let p1 = { let p = Product()
p.name = ""
return p
}()
答案 3 :(得分:0)
在像
这样的函数中尝试这个语句func printName() {
print(p1.name)
}