gpt4 book ai didi

ios - 是什么导致我的 AppDelegate 中的 self 未定义?

转载 作者:搜寻专家 更新时间:2023-10-31 23:03:01 24 4
gpt4 key购买 nike

我已经在一个应用程序上工作了几个星期,然后进行了一次重大重构,但不知何故破坏了我的应用程序委托(delegate)。

如果我在 applicationDidFinishLaunchingWithOptions 中放置一个断点,然后键入 p self,我会看到以下错误:

error: <EXPR>:1:1: error: use of unresolved identifier 'self'
self
^

如果我在 applicationDidBecomeActive 中放置一个断点并键入 p self 那么我不会收到任何错误并且 self 似乎被正确“定义”。

如果我从一个新项目开始我就不会遇到这个问题。

我的AppDelegate.swift如下:

import UIKit
import CoreLocation

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

var window: UIWindow?

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

return true
}

}

最佳答案

“self”对于表达式求值器来说比您天真地认为的要棘手。它不能只告诉编译器有关变量的信息,它必须让编译器相信表达式中的代码正在方法上下文中运行,无论类“self”恰好是什么,然后编译器将推断出 self 的存在.否则像 bare ivar 访问和方法调用这样的事情将无法工作。

最初这个小两步有很多问题,但 Xcode 7 应该已经解决了这些问题。如果您在 Xcode 7 中看到这个问题,请提交错误,我们会查看。

关于ios - 是什么导致我的 AppDelegate 中的 self 未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31152805/

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