【问题标题】:iOS Swift method called on obj C project在 obj C 项目上调用的 iOS Swift 方法
【发布时间】:2017-01-16 04:51:33
【问题描述】:

我正在与imglyKit swift 3 library合作

使用 swift 示例,我可以使用 [从任何地方调用,共享实例?] 设置自定义过滤器: PhotoEffect.allEffects = effects

and effects 是一个数组,

private let effects: [PhotoEffect] = [
    PhotoEffect(identifier: "None", ciFilterName: nil, lutURL: nil, displayName: "None", options: nil),
    PhotoEffect(identifier: "K1", lutURL: Bundle(for: PhotoEffect.self).url(forResource: "K1", withExtension: "png"), displayName: "K1"),
    PhotoEffect(identifier: "K2", lutURL: Bundle(for: PhotoEffect.self).url(forResource: "K2", withExtension: "png"), displayName: "K2"),
    PhotoEffect(identifier: "K6", lutURL: Bundle(for: PhotoEffect.self).url(forResource: "K6", withExtension: "png"), displayName: "K6"),
    PhotoEffect(identifier: "Dynamic", lutURL: Bundle(for: PhotoEffect.self).url(forResource: "Dynamic", withExtension: "png"), displayName: "Dynamic"),
    PhotoEffect(identifier: "Fridge", lutURL: Bundle(for: PhotoEffect.self).url(forResource: "Fridge", withExtension: "png"), displayName: "Fridge")
]

所以这个带有“共享实例”的配置可以在代码中的任何地方工作。

现在的问题是,如何访问 pod “imglykit” 的共享实例以设置此属性?

这里是对objective C的测试,但只是一个实例,如何与已经创建的对象链接?

    IMGLYPhotoEffect *photoEffect = [[IMGLYPhotoEffect alloc]initWithIdentifier:@"None" ciFilterName:nil lutURL:nil displayName:@"None" options:nil];

【问题讨论】:

    标签: ios objective-c swift3


    【解决方案1】:

    allEffectsIMGLYPhotoEffect 类(在 Swift 中称为 PhotoEffect 类)的类方法。

    试试这个:

    IMGLYPhotoEffect.allEffects = effects;
    

    以下是在 Objective-C 中找出调用 swift API 的正确方法的提示:如果您在 Objective-C 项目中 Cmd-单击符号 IMGLYPhotoEffect,它将带您到生成的标题Objective-C 中的类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多