【发布时间】:2016-02-03 18:09:41
【问题描述】:
我有一个带有 UICollectionView 的 ViewController,我想在其中显示用户朋友列表中玩家的前两个字母,如下所示:
func collectionView(collectionView: UICollectionView,
cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
contactListCollection.registerClass(PlayerCell.self, forCellWithReuseIdentifier: "PlayerCell")
let cell = collectionView.dequeueReusableCellWithReuseIdentifier("PlayerCell", forIndexPath: indexPath) as! PlayerCell
let contacts = contactList.getContactList() //Array of strings
for(var i = 0; i < contacts.count; i++){
var str = contacts[i]
// First two letters
let firstTwo = Range(start: str.startIndex,
end: str.startIndex.advancedBy(2))
str = str.substringWithRange(firstTwo)
cell.setButtonTitle(str);
}
return cell;
}
func collectionView(collectionView: UICollectionView,
numberOfItemsInSection section: Int) -> Int {
return contactList.getContactList().count;
}
我的 PlayerCell 类如下:
class PlayerCell : UICollectionViewCell {
@IBOutlet var button: UIButton?
func setButtonTitle(text: String){
button!.setTitle(text, forState: .Normal)
}
}
当运行它给出的代码时: 致命错误:在展开可选值时意外发现 nil
我发现我的 PlayerCell 中的按钮是 nil
我已在 Storyboard 中的单元格内添加了按钮,并将这些按钮与引用插座连接
我错过了什么吗?
在 Swift 2.0 中使用 xCode 7
【问题讨论】:
-
现在发生了什么?
-
我已经更新了我的问题,我添加了错误
-
一个问题,你把按钮连接到文件所有者还是类?
-
Erm.. 我真的不明白你的意思,因为这是我用 iOS 制作的第一个应用程序。我所做的是将按钮 ctrl 拖动到单元格并单击“按钮”,因为这是列表中显示的 IBOutlet 的名称
标签: ios swift uibutton uicollectionview uicollectionviewcell