小编CRD*_*CRD的帖子

NSError和__autoreleasing

有人可以__autoreleasing在下面的示例代码块中向我解释一下目的吗?

- (void)execute:(NSError * __autoreleasing *)error {
    // do stuff, possibly assigning error if something went wrong
}
Run Code Online (Sandbox Code Playgroud)

我删除了__autoreleasing所有东西似乎仍然编译/运行正常.我开始使用obj-c后ARC,所以我从来没有真正学过/理解所有那些双下划线的东西.我已阅读ARC过渡指南,但我不完全了解他们的NSError示例.

objective-c automatic-ref-counting

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

Finder在哪里获取文件夹中项目的"添加日期"?

如果文件夹放在Dock中,您可以按"添加日期"对其进行排序 - 这通常是"下载"文件夹的默认值.(有时Finder似乎没有使用添加的日期,但修改了日期,但它可以找到添加的日期.)Finder在哪里搞清楚这个?标准文件元数据(即由stat,getattrlist或FSGetCatInfo获得)不包含它.TIA

cocoa macos-carbon objective-c

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

@ try @ catch块没有捕获内部异常

好的,我以前从未见过这个.这是我的代码:

    @try {
        [self.avPlayer removeObserver:self forKeyPath:@"status"];
        [self.avPlayer removeObserver:self forKeyPath:@"rate"];
    } @catch (NSException *exception) {

    } @finally {

    }
Run Code Online (Sandbox Code Playgroud)

您可以清楚地看到,我在@try块中有这两行代码.但是,它仍然会崩溃我的应用程序.这是未捕获的异常消息:

无法从<AVPlayer 0x7fa8d714ad70>中删除观察者<SoulHLECellView 0x7fa8d2b536b0>作为关键路径"status",因为它未注册为观察者.

所以,非常清楚,这是由我上面发布的代码引起的.这怎么可能?我在这里错过了什么?

objective-c objective-c-runtime ios objective-c-blocks

0
推荐指数
1
解决办法
1086
查看次数