【发布时间】:2018-03-09 17:58:33
【问题描述】:
我在我的框架项目中遇到了一个奇怪的问题。当我尝试在我的框架中调用一个函数时,Swift 3 编译器警告我一个 未使用的结果,即使我在框架中使用 @discardableResult
这是我的代码
我的cocoa touch framework 项目中的SampleFramework.swift 文件
import Foundation
@discardableResult
public func keychainPerform(key:String) -> String{
print("success");
return "aaa";
}
ViewController.swift 文件在single view application swift 项目中
import UIKit
import SampleFramework
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
SampleFramework.keychainPerform(key: "asd") // Warning: result of call is unused
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
我使用其他框架检查了该场景,但 @discardableResult 在所有框架上都运行良好,所以请帮助我找出我做错了什么?
【问题讨论】:
-
如果您只想删除警告,请尝试
let _ = SampleFramework.keychainPerform(key: "asd")。 -
不,我不希望我的框架用户像这样禁止显示此警告
-
这适用于 Swift 4 吗?
-
你解决过这个问题吗?我在框架中看到了类似的行为。
标签: ios swift frameworks