gpt4 book ai didi

ios - Stanford iOS9 2016 第 6 讲 VCL.swift 文件,错误行 "print("\(logPrefix)Face\(instance )"+ msg)"

转载 作者:搜寻专家 更新时间:2023-11-01 06:19:11 27 4
gpt4 key购买 nike

在第 6 讲 Stanford iOS9 2016 系列讲座中,程序中添加了一个名为 VCL.swift 的文件来演示 View Controller 生命周期。

我已经添加了文件,但是对于行 "print("\(logPrefix)Emotions\(instance)"+ msg) 和行 "print("\(logPrefix)Face\(instance)"+ msg)",xcode 显示错误,告诉我“使用了未解析的标识符‘instance’”。

有人知道如何解决吗?

下面是第 6 课的 VCL.swift 文件

import UIKit

private var faceMVCinstanceCount = 0
func getFaceMVCinstanceCount() -> Int { faceMVCinstanceCount += 1; return faceMVCinstanceCount }
private var emotionsMVCinstanceCount = 0
func getEmotionsMVCinstanceCount() -> Int { emotionsMVCinstanceCount += 1; return emotionsMVCinstanceCount }

var lastLog = NSDate()
var logPrefix = ""

func bumpLogDepth() {
if lastLog.timeIntervalSinceNow < -1.0 {
logPrefix += "__"
lastLog = NSDate()
}
}

// we haven't covered extensions as yet
// but it's basically a way to add methods to a given class

extension FaceViewController
{
func logVCL(msg: String) {
bumpLogDepth()
print("\(logPrefix)Face \(instance) " + msg) //error: use of unresolved identifier 'instance'
}

override func awakeFromNib() {
logVCL("awakeFromNib()")
}

override func viewDidLoad() {
super.viewDidLoad()
logVCL("viewDidLoad()")
}
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
logVCL("viewWillAppear(animated = \(animated))")
}
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
logVCL("viewDidAppear(animated = \(animated))")
}
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
logVCL("viewWillDisappear(animated = \(animated))")
}
override func viewDidDisappear(animated: Bool) {
super.viewDidDisappear(animated)
logVCL("viewDidDisappear(animated = \(animated))")
}

override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()
logVCL("viewWillLayoutSubviews() bounds.size = \(view.bounds.size)")
}
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
logVCL("viewDidLayoutSubviews() bounds.size = \(view.bounds.size)")
}

override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator) {
super.viewWillTransitionToSize(size, withTransitionCoordinator: coordinator)
logVCL("viewWillTransitionToSize")
coordinator.animateAlongsideTransition({ (context: UIViewControllerTransitionCoordinatorContext!) -> Void in
self.logVCL("animatingAlongsideTransition")
}, completion: { context -> Void in
self.logVCL("doneAnimatingAlongsideTransition")
})
}
}

extension EmotionsViewController
{
func logVCL(msg: String) {
bumpLogDepth()
print("\(logPrefix)Emotions \(instance) " + msg) //error: use of unresolved identifier 'instance'
}

override func awakeFromNib() {
logVCL("awakeFromNib()")
}

override func viewDidLoad() {
super.viewDidLoad()
logVCL("viewDidLoad()")
}
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
logVCL("viewWillAppear(animated = \(animated))")
}
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
logVCL("viewDidAppear(animated = \(animated))")
}
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
logVCL("viewWillDisappear(animated = \(animated))")
}
override func viewDidDisappear(animated: Bool) {
super.viewDidDisappear(animated)
logVCL("viewDidDisappear(animated = \(animated))")
}

override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()
logVCL("viewWillLayoutSubviews() bounds.size = \(view.bounds.size)")
}
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
logVCL("viewDidLayoutSubviews() bounds.size = \(view.bounds.size)")
}

override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator) {
super.viewWillTransitionToSize(size, withTransitionCoordinator: coordinator)
logVCL("viewWillTransitionToSize")
coordinator.animateAlongsideTransition({ (context: UIViewControllerTransitionCoordinatorContext!) -> Void in
self.logVCL("animatingAlongsideTransition")
}, completion: { context -> Void in
self.logVCL("doneAnimatingAlongsideTransition")
})
}
}

最佳答案

错误:“使用未解析的标识符‘实例’”意味着您正在尝试使用尚未声明的变量。

在你的情况下,你在 EmotionsViewController (EmotionsViewController.swift) 和/或 let instance = getFaceMVCinstanceCount( )FaceViewController (FacialExpression.swift) 中。

只需查看此处提供的完整资源: Lecture 6: Multiple MVCs

关于ios - Stanford iOS9 2016 第 6 讲 VCL.swift 文件,错误行 "print("\(logPrefix)Face\(instance )"+ msg)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37561254/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com