小编Rob*_*Rob的帖子

Swift 2.0版本的struct GeneratorOf <T>

似乎struct GeneratorOf<T> {…}在Swift 2.0中没有.有谁知道什么,如果有的话,取代这个结构?

谢谢

generics generator sequence swift2

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

Swift:有没有办法测试转换为 AnyObject 的对象是否符合 Equatable?

我有一个具有键控属性的对象:

func value(key: String) -> AnyObject?
func setValue(value: AnyObject?, key: String)
Run Code Online (Sandbox Code Playgroud)

我想检查value从两个不同对象的具有相同键的函数返回的值是否为Equatable. Swift 抱怨是因为Equatable有一个Self引用并且只能在泛型中使用。有没有办法可以检查AnyObjectvalue函数返回的对象是否符合Equatable

generics ios swift2 equatable

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

在Swift 2.0中创建CMSampleBuffer的副本

以前曾经问过这个问题,但是有问题的话,Swift的内容一定有所改变.我正在尝试存储CMSampleBufferAVCaptureSession以后处理的对象.经过一些实验,我发现AVCaptureSession必须重复使用它的CMSampleBuffer引用.当我试图保持超过15时会话挂起.所以我想我会复制样本缓冲区.但我似乎无法让它发挥作用.这是我写的:

var allocator: Unmanaged<CFAllocator>! = CFAllocatorGetDefault()
var bufferCopy: UnsafeMutablePointer<CMSampleBuffer?>
let err = CMSampleBufferCreateCopy(allocator.takeRetainedValue(), sampleBuffer, bufferCopy)
if err == noErr {
    bufferArray.append(bufferCopy.memory!)
} else {
    NSLog("Failed to copy buffer. Error: \(err)")
}
Run Code Online (Sandbox Code Playgroud)

这不会编译,因为它说Variable 'bufferCopy' used before being initialized.我看了很多例子,他们要么编译也不能工作,否则他们就不会编译.

有谁看到我在这里做错了什么?

unsafe-pointers avfoundation core-media ios swift2

5
推荐指数
2
解决办法
2381
查看次数

方法的pass-by-reference参数的OCMock存根

我有一个方法,我需要存根.该方法的形式如下:

BOOL myMethodWithError:(*__autoreleasing *NSError)error;
Run Code Online (Sandbox Code Playgroud)

所以我嘲笑了这个对象并试图通过"错误"返回一个零.我把它编码如下.

id mockMyObject = [OCMockObject mockForClass:[MyObject class]];
BOOL retVal = YES;
NSError *error = nil;
[[[mockMyObject stub] andReturn:OCMOCK_VALUE(retVal)] myMethodWithError:&error];
Run Code Online (Sandbox Code Playgroud)

运行测试并运行模拟对象时,错误引用ID似乎会更改.所以模拟抛出一个异常:

OCMockObject [MyObject]:调用的预期方法:myMethodWithError:0xbfffca78

我尝试了许多不同的方法,但每次将错误对象传递给导致模拟对象抛出错误的方法时,指针值似乎都会改变.

我只需要根据参数的pass-by-reference值来测试我的业务规则,但我似乎无法让mock或test对象合作.

在此先感谢,任何帮助将不胜感激.

tdd unit-testing ocmock ios7 xctest

3
推荐指数
1
解决办法
2198
查看次数