如何将Item插入到collectionView中? Swift3

时间:2017-07-03 21:19:11

标签: ios swift3 storyboard xcode8

我正在使用Swift 3在Xcode 8中创建一个聊天应用程序,我正在使用collectionView来获取消息。但是我在按下发送时将新项目插入集合视图时出现问题:

msg.append(message) // msg : Messages Array    
let item = msg.count - 1 
let IndexPath = NSIndexPath(item: item, section: 0)
self.collectionView.insertItems(at: [IndexPath]) 

错误显示(对成员'collectionView(_:numberOfItemsInSection :)的不明确引用'

如何解决这个问题。并正在使用storyboard影响使用collectionView的工作,因为我无法使用:

更改单元格大小
 public func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
        if let messageText = msg[indexPath.item].text {
            let size = CGSize(width: 250 , height: 1000)
            let options = NSStringDrawingOptions.usesFontLeading.union(.usesLineFragmentOrigin)
            let esf = NSString(string: messageText).boundingRect(with: size, options: options, attributes: [NSFontAttributeName: UIFont.systemFont(ofSize: CGFloat(18))], context: nil)
            print("Changed")
            return CGSize(dictionaryRepresentation: esf as! CFDictionary)!
        }

          print("Not Changed")
        return CGSize(width: view.frame.width, height: CGFloat(100))

    }

我只有一个突破点而且还没有到达!

2 个答案:

答案 0 :(得分:0)

您正在使用UIViewController而不是UICollectionViewController,因此您无法免费获取collectionView属性。您需要在故事板中插入一个插座并将其命名为@IBOutlet var collectionView:UICollectionView!。

答案 1 :(得分:-1)

在我的情况下我参考 self.tableView.SOMEMETHOD 但是名称" tableView"没有出口。 请查看您的代码,我认为它的出口问题