0
我正在使用一些代碼關閉github,並試圖將其轉換爲Swift 3.0。我所做的一切,到現在爲止,但我得到的3行代碼中的這一個錯誤:通過代碼與TouchiD錯誤「類型是不明確的,沒有更多的上下文」
表達的類型是模糊的沒有更多的情況下
下面我標誌着是線由此錯誤標記。我該如何解決這個問題?我知道的其他一切都有效。在修復之前,我無法測試演示本身。
//
// PasscodeSettingsViewController.swift
// PasscodeLockDemo
//
// Created by Yanko Dimitrov on 8/29/15.
// Copyright © 2015 Yanko Dimitrov. All rights reserved.
//
import UIKit
import PasscodeLock
class PasscodeSettingsViewController: UIViewController {
@IBOutlet weak var passcodeSwitch: UISwitch!
@IBOutlet weak var changePasscodeButton: UIButton!
@IBOutlet weak var testTextField: UITextField!
@IBOutlet weak var testActivityButton: UIButton!
fileprivate let configuration: PasscodeLockConfigurationType
init(configuration: PasscodeLockConfigurationType) {
self.configuration = configuration
super.init(nibName: nil, bundle: nil)
}
@IBAction func passcodeSwitchValueChange(_ sender: UISwitch) {
let passcodeVC: PasscodeLockViewController
if passcodeSwitch.isOn {
// Error on next line
passcodeVC = PasscodeLockViewController(state: .SetPasscode, configuration: configuration)
} else {
// Error on next line
passcodeVC = PasscodeLockViewController(state: .RemovePasscode, configuration: configuration)
passcodeVC.successCallback = { lock in
lock.repository.deletePasscode()
}
}
present(passcodeVC, animated: true, completion: nil)
}
@IBAction func changePasscodeButtonTap(_ sender: UIButton) {
let repo = UserDefaultsPasscodeRepository()
let config = PasscodeLockConfiguration(repository: repo)
let passcodeLock = PasscodeLockViewController(state: .ChangePasscode, configuration: config)
// Error on next line
presentViewController(passcodeLock, animated: true, completion: nil)
}
}
提供'PasscodeLockViewController'的定義或者提供GitHub repo的鏈接。 – nayem
@nayem爲延誤抱歉。這裏是鏈接https://github.com/yankodimitrov/SwiftPasscodeLock –
回購的主分支包含以前版本的Swift。所以你需要做很多工作來將它們轉換成最新版本的Swift。我建議您查看[此特定提交](https://github.com/yankodimitrov/SwiftPasscodeLock/tree/7a3d8033843b6977e12e0dece57f123727e82da3),其中包含實現部分的轉換。您只需修改演示部分/爲您的個人案例使用最新的語法。 – nayem