小编Luc*_*rti的帖子

使用多个参数弃用重命名的方法

我想更新Swift 3的以下方法的命名:

public func imageWithUrl(url: String, placeholderNamed: String) {
    if let image = UIImage(named: placeholderNamed) {
        imageWithUrl(url: url, placeholder: image)
    } else {
        imageWithUrl(url: url)
    }
}
Run Code Online (Sandbox Code Playgroud)

public func image(url: String, placeholderNamed: String) {
Run Code Online (Sandbox Code Playgroud)

所以我用这个方法弃用旧方法:

@available(*, deprecated: 1.8, renamed: "image(url:, placeholder:")
Run Code Online (Sandbox Code Playgroud)

问题是我收到以下错误:

'available'属性的'renamed'参数必须是运算符,标识符或完整函数名称,可选地由类型名称预设

deprecated ios swift swift3

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

通过AVAssetExportSession导出mp4失败

我开始说我花了很多时间在文档,帖子和其他地方搜索,但我无法找到解决这个问题的方法.

AVAssetExportSession用于导出.mp4存储在AVAsset实例中的文件.我所做的是:

  • 我检查了isExportable属性AVAsset
  • 然后我得到一个exportPresetsAVAsset实例兼容的数组
  • 我接受AVAssetExportPreset1920x1080,或者,如果不存在,我尝试导出媒体AVAssetExportPresetPassthrough(仅供参考,100%的时间,我需要的预设总是包含在列表中,但我也尝试了passthrough选项,但它无论如何都不起作用)

outputFileTypeAVFileTypeMPEG4,我也试图通过分配.mp4扩展到该文件,但没有什么使得它的工作.我总是收到这个错误

错误域= AVFoundationErrorDomain代码= -11838"操作已停止"UserInfo = {NSUnderlyingError = 0x600000658c30 {错误域= NSOSStatusErrorDomain代码= -12109"(null)"},NSLocalizedFailureReason =此媒体不支持该操作.,NSLocalizedDescription =操作已停止}

下面是我正在使用的代码

func _getDataFor(_ item: AVPlayerItem, completion: @escaping (Data?) -> ()) {
    guard item.asset.isExportable else {
        completion(nil)
        return
    }

    let compatiblePresets = AVAssetExportSession.exportPresets(compatibleWith: item.asset)
    var preset: String = AVAssetExportPresetPassthrough
    if compatiblePresets.contains(AVAssetExportPreset1920x1080) { preset = AVAssetExportPreset1920x1080 }

    guard
        let exportSession = …
Run Code Online (Sandbox Code Playgroud)

avfoundation avassetexportsession swift

6
推荐指数
2
解决办法
7529
查看次数

什么时候在Objective-C中使用`self`?

现在已经超过5个月,我在Objective-C,我也在App Store发布了我的第一个应用程序,但我仍然怀疑该语言的核心功能.

什么时候我应该使用self访问iVars,当我不是?

在释放插座时,您self.outlet = nil在viewDidUnload中dealloc写入,而不是在您写入时[outlet release].为什么?

objective-c self

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