NSCollectionView 斯威夫特

Posted

技术标签:

【中文标题】NSCollectionView 斯威夫特【英文标题】:NSCollectionView Swift 【发布时间】:2015-03-21 11:17:07 【问题描述】:

我有一个使用 UICollectionViewios 应用。我现在正在为 Mac 创建应用程序,所以我尝试使用 NSCollectionView 但是我不确定我应该从哪里开始。 我正在尝试添加下面的代码,但它似乎不可用。我哪里错了? 谢谢

func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int 

return 30




func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell 
    let cell = collectionView.dequeueReusableCellWithReuseIdentifier("Cell", forIndexPath: indexPath) as ProjectsCellCollectionViewCell

cell.textLabel.text = "\(indexPath.section):\(indexPath.row)"

    return cell

谢谢。

我已遵循快速入门指南,但我被困在这部分:

-(void)insertObject:(PersonModel *)p inPersonModelArrayAtIndex:(NSUInteger)index 
[personModelArray insertObject:p atIndex:index];


-(void)removeObjectFromPersonModelArrayAtIndex:(NSUInteger)index 
[personModelArray removeObjectAtIndex:index];


-(void)setPersonModelArray:(NSMutableArray *)a 
personModelArray = a;


-(NSArray*)personModelArray 
return personModelArray;

我似乎无法将这些添加到我的ViewController.swift 文件中。 有什么建议吗?

【问题讨论】:

【参考方案1】:

iOS 使用 UIKit 表示 UI 元素,而 Mac 使用 AppKit。它们之间有一些很大的区别,主要是因为 iOS 是针对基于移动触摸的界面,而 Mac 是针对桌面键盘/鼠标界面。 iOS 和 Mac 之间共享的是Foundation。如果有 Mac 的等价物,您通常可以将 UI 替换为 NS 以找到您正在寻找的课程。您的代码将无法运行,因为 Mac 上没有 UICollectionView

但是,您似乎已经注意到,有 NSCollectionView,Apple 为其提供了 quick start guide。

【讨论】:

我已按照指南进行操作,但在更新中卡在上面的部分。 “我似乎无法添加这些...”是什么意思?该代码是Objective-C,纯粹用于集合视图的模型端。你可以用任何你想要的方式来实现模型。 我相信 Tom 所了解的是使用 swift 进行 KVC 的正确方法。显然,objective-c 代码不能与 swift 一起使用,但问题的关键是如何让 NSCollectionview 与 swift 一起使用。

以上是关于NSCollectionView 斯威夫特的主要内容,如果未能解决你的问题,请参考以下文章

NSCollectionView 拖放:大多数委托事件没有被调用

带有网络图像的 NSCollectionView

GCD 块不更新 NSCollectionView

NSCollectionView+NSScrollView 中的鼠标悬停

NSCollectionView 中的居中项目

NSCollectionView 是不是与 CoreData 兼容