如何让Button
转移到另一个ViewController
?
任何人都可以帮助我,这是我的代码。
我尝试使用button1: UIButton!
,但我收到了错误
class Interest1
{
var title = ""
var description = ""
var featuredImage: UIImage!
var button1: UIButton!
var button2: UIButton!
var button3: UIButton!
var button4: UIButton!
init(title: String, featuredImage: UIImage!, button1: UIButton!)
{
self.title = title
self.featuredImage = featuredImage
}
static func createInterest() -> [Interest1]
{
return [
Interest1(title: "One", featuredImage: UIImage(named:"001.png")!, button1: UIButton), // I got error Here i don't know why
Interest1(title: "Two", featuredImage: UIImage(named:"002.png")!),
Interest1(title: "Three", featuredImage: UIImage(named:"003.png")!),
Interest1(title: "Four", featuredImage: UIImage(named:"004.png")!),
]
}
}
代码:
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int
{
return interests3.count //error
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell
{
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "1", for: indexPath as IndexPath) as! interestCollectionViewCell
cell.interest2 = self.interests3[indexPath.item] //error
return cell
}
错误为use of unresolved identifier 'interests3'
答案 0 :(得分:0)
删除类型注释,如下面的代码 -
init
并改变init(title: String, featuredImage: UIImage, button1: UIButton)
{
self.title = title
self.featuredImage = featuredImage
}
这样的功能 -
static
并像这样添加static var button1: UIButton!
static var button2: UIButton!
static var button3: UIButton!
static var button4: UIButton!
-
class Interest1
{
var title = ""
var description = ""
var featuredImage: UIImage!
static var button1: UIButton!
static var button2: UIButton!
static var button3: UIButton!
static var button4: UIButton!
subscript(index:Int)->Int
{
return 5
}
init(title: String, featuredImage: UIImage, button: UIButton)
{
self.title = title
self.featuredImage = featuredImage
}
static func createInterest() -> [Interest1]
{
return [
Interest1(title: "One", featuredImage: UIImage(named:"001.png")!, button: button1),
Interest1(title: "Two", featuredImage: UIImage(named:"002.png")!, button: button2),
Interest1(title: "Three", featuredImage: UIImage(named:"003.png")!, button: button3),
Interest1(title: "Four", featuredImage: UIImage(named:"004.png")!, button: button4),
]
}
}
这是完整代码 -
{{1}}
答案 1 :(得分:0)
我发现有关您的代码的几个问题。修理它们会很好。
你不必像button1那样命名你的参数 - 这里的按钮更合适,所以你的构造函数可以像
init(title: String, featuredImage: UIImage!, button: UIButton!)
强行打开这里并不是一个好方法。最好删除它,所以构造函数是:
init(title: String, featuredImage: UIImage, button: UIButton)
现在,在构造函数内部根本不使用按钮。我想你想设置它,比如
init(title: String, featuredImage: UIImage, button: UIButton)
{
self.title = title
self.featuredImage = featuredImage
self.button = button
}
最后,在你创建的对象中,你现在使用的不是现有的构造函数:
Interest1(title: "Two", featuredImage: UIImage(named:"002.png")!)
您还必须提供按钮。所以,可能你想做这样的事情:
static func createInterest() -> [Interest1]
{
return [
Interest1(title: "One", featuredImage: UIImage(named:"001.png")!, button: someFirstButton), // I got error Here i don't know why
Interest1(title: "Two", featuredImage: UIImage(named:"002.png")!, button: someSecondButton),
Interest1(title: "Three", featuredImage: UIImage(named:"003.png")!, button: someThirdButton)
]
}
注意,你可能想在里面提供你的按钮,而不是someFirstButton,someSecondButton,someThirdButton
祝你好运