小编See*_*ode的帖子

UICollectionView单元格仅在第二次调用reloadData后显示

我可能正在做一些非常愚蠢的事情,但我无法弄清楚我的生活是怎么回事......

我想要做的很简单.我UICollectionView依赖于我从服务器加载的数据.从服务器获取并设置数据后,我调用reloadData()集合视图.当我这样做时,numberOfItemsInSection被调用正确的计数,但cellForItemAt除非我reloadData()再次呼叫(甚至不需要延迟),否则永远不会被调用.

这是一般性的想法(虽然我意识到这可能与其他地方的某些竞争有关,但也许这足以启动对话):

class MyViewController: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource {

    @IBOutlet weak var collectionView: UICollectionView!

    var data = [DataModel]()

    override func viewDidLoad() {
        collectionView.delegate = self
        collectionView.dataSource = self
        collectionView.register(UINib(nibName: "MyCell", bundle: nil), forCellWithReuseIdentifier: "MyCell")
        getData()
    }

    func getData() {
        someAsyncMethodToGetData() { (data) in
            // Using CloudKit so I think this is necessary, but tried it with and without
            DispatchQueue.main.async {
                self.data = data
                self.collectionView.reloadData()
                // This is the only way …
Run Code Online (Sandbox Code Playgroud)

ios uicollectionview swift

8
推荐指数
1
解决办法
3136
查看次数

Swift中的空数组和泛型有什么用?

今天早些时候在Swift中使用泛型时遇到了一个有趣的bug.我想出了一个解决方案,但我想知道是否有人可以回答为什么编译器没有捕获这样的东西.让我从一段代码开始.

func doSomething<T>(with array: [T]) {
    type(of: array)     // Optional<Array<Int>>
    array is [Int]      // true 
    array is [String]   // true 
}

var arrayOfInts: [Int] = []
doSomething(with: arrayOfInts)
Run Code Online (Sandbox Code Playgroud)

见第4行.为什么这样true?我错过了什么吗?难道编译器不应该足够聪明地弄清楚这不是一个Strings 数组吗?这最终导致了一个错误,其中由于假定空数组的类型错误而导致值设置不正确.

就解决方案而言,我选择了以下内容:

if type(of: array).Element.self == Model.self
Run Code Online (Sandbox Code Playgroud)

generics swift

5
推荐指数
1
解决办法
109
查看次数

哈希(#)链接导致内容跳跃 - 为什么?

好吧,通常我对CSS非常好.但是这一个...我无法完全理解为什么会发生这种情况.

我确实找到了几个"快速修复",但我不想只是为了做某事而做某事,所以如果有人能帮助我理解这个异常,请挺身而出(我试过在网上搜索和低,并没有找到任何关于这个)!!

使用哈希(#)/锚链接时会出现此问题.我把小提琴放在一起,以便更好地解释发生了什么.

首先,请访问:http://jsfiddle.net/GKCE6/5/show.看起来不错吧?

现在让我们将哈希(#)符号添加到URL:http://jsfiddle.net/GKCE6/5/show/#some-content.标题就消失了!走了!纳达!

有任何想法吗?我注意到如果我overflow:hidden从中删除规则div#container,标题会回来.不过,我正在研究的项目需要overflow:hidden规则来消除水平滚动.我可能会做类似的事情overflow-x:hidden,但就像我在开始时说的那样,我宁愿尝试理解为什么会这样,所以我可以确定适当的修复.

还有其他人遇到过此吗?

小提琴:http://jsfiddle.net/GKCE6/5

html css

4
推荐指数
1
解决办法
412
查看次数

标签 统计

swift ×2

css ×1

generics ×1

html ×1

ios ×1

uicollectionview ×1