小编Dor*_*Roy的帖子

UICollectionView:如何获取节的标题视图?

有一种通过indexPath(UICollectionView cellForItemAtIndexPath:)获取单元格的方法.但是,在创建之后,我找不到一种方法来获得一个补充视图,如页眉或页脚.任何想法?

iphone ios uicollectionview

29
推荐指数
3
解决办法
4万
查看次数

Xcode警告"分析:无效幻数"

我刚刚安装了Xcode 4.6.当我现在运行我的OCUnit测试时,在所有测试完成后,我在输出窗口中得到多行"profiling:invalid magic number".我很确定Xcode 4.5.2没有给我那个输出.

有人知道这条线是什么意思吗?

xcode ocunit ios xcode4.6

25
推荐指数
1
解决办法
3218
查看次数

这个警告意味着什么:"设置集合视图的第一个响应者视图,但我们不知道它的类型(单元格/页眉/页脚)"

我有一个UICollectionView,在每个单元格中都有一个UITextView.当我点击其中一个文本视图并且键盘出现时,我在输出面板中收到此警告:

setting the first responder view of the collection view but we don't know its type (cell/header/footer)

但是,文本输入工作正常.但是,在生产中使用此代码之前,我真的很想知道这个警告意味着什么.

iphone uikit ios ios6 uicollectionview

17
推荐指数
1
解决办法
5166
查看次数

当URL被更改时,MPMoviePlayerController发送"到达电影的结尾"

我正试图在电影结束时从MPMoviePlayerController获取通知.我正在使用本地文件以嵌入模式运行播放器.

与文档建议一样,我注册了MPMoviePlayerPlaybackDidFinishNotification并检查MPMovieFinishReason键是否包含MPMovieFinishReasonPlaybackEnded的intValue.这工作正常.

但是当我在实际到达结束之前使用contentURL属性切换电影时,我得到了与MPMovieFinishReasonPlaybackEnded相同的通知.所以我尝试了这个解决方案并检查了endPlaybackTime == -1,但在两种情况下都是如此.

到目前为止我发现的唯一解决方法是在更改contentURL然后再添加它之前删除观察者,但我认为必须有一个更优雅的解决方案?

mpmovieplayercontroller nsnotifications ios

9
推荐指数
1
解决办法
1868
查看次数

UICollectionView:如何在页脚和页眉之间添加空格?

我有一个CollectionView使用标准的FlowLayout类,每个部分都有水平滚动和页眉和页脚.

现在页脚和页眉视图之间(即各部分之间)的像素为零.我想在它们之间添加一点间距,但不要在第一部分之上或在最后一部分之后.所以我不能在页眉和页脚视图中添加该空间.

我本来期望像"interSectionSpacing"这样的东西,但显然没有这样的设置.有任何想法吗?

iphone ios ios6 uicollectionview

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

Xcode中的"使用未声明的类型"错误不会消失

我将一个Swift类声明从一个文件移动到另一个文件,现在Xcode 8.2.1在我使用这个类的任何地方一直用红色错误"使用未声明的类型"唠叨我.该项目确实编译和运行没有错误,但是当我编辑代码时,错误消息再次弹出.

我已经

  • 清理了项目
  • 清理了构建文件夹
  • 手动删除DerivedData
  • 重启了Xcode
  • 重启了我的Mac

我还能做些什么来摆脱这些消息吗?

xcode compiler-errors ios swift xcode8

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

在运行单元测试时阻止应用程序创建viewcontroller

当我使用OCUnit测试我的应用程序时,它会像往常一样设置AppDelegate,window和rootViewController,然后再运行测试.然后我的rootViewController将自己添加为某些NSNotifications的观察者.

当我使用独立的测试实例和模拟观察者测试这些通知时,也会调用自动创建的rootViewController的通知处理程序,这会导致我的一些测试失败.

有没有办法让OCUnit在测试模式下运行时不创建rootViewController或使其使用不同的ViewController类?如果可以在我的应用程序代码中不编写与测试相关的特殊代码的情况下完成,那将会很酷.

tdd unit-testing ocunit uiviewcontroller ios

7
推荐指数
1
解决办法
1654
查看次数

SceneKit:如何检测没有碰撞的接触

我正在寻找最好的方法(性能方面)来检测两个在SceneKit物理世界中不会发生碰撞(不互相反弹)的物体之间的接触.

我看到SpriteKit有一个contactTestBitMask和一个collisionBitMask物理实体,而SceneKit只有后者.因此,当对象在SceneKit中有联系时,必须有另一种首选方式来获得通知.我想contactTestBetweenBody:andBody:options:在每个帧中调用 每个对象不是最好的方法吗?

更新 使用iOS 9.0,Apple已添加contactTestBitMaskSCNPhysicsBody.所以这个问题很快就会过时.

macos objective-c ios scenekit swift

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

Swift 并发:为什么这个方法是异步的?

我正在尝试思考如何将 Swift 并发性与使用基于块的东西(如 Timer)的旧代码集成。因此,当我构建下面的代码时,编译器告诉我self.handleTimer()该行Expression is 'async' but is not marked with 'await'

为什么是异步的?它没有被标记async并且没有做任何事情。当我在没有计时器的情况下调用它时,我不需要await. 参与者隔离是否意味着对成员的每次调用都是来自该上下文之外的“异步”?

@MainActor
class MyClass {
    
    func startTimer() {
        _ = Timer.scheduledTimer(withTimeInterval: 1, repeats: true) { timer in
            Task {
                self.handleTimer() // "Expression is 'async' but is not marked with 'await'"
            }
        }
    }
    
    func handleTimer() {
    }
}
Run Code Online (Sandbox Code Playgroud)

swift swift-concurrency

3
推荐指数
2
解决办法
972
查看次数