在XCode6中创建新项目不允许禁用故事板.您只能 Select SWIFT或Objective-C以及使用或不使用核心数据.

我try 删除情节提要,从项目中删除主情节提要,并从didFinishLaunching手动设置窗口

在AppDelegate中,我有以下内容:

class AppDelegate: UIResponder, UIApplicationDelegate {

var window: UIWindow
var testNavigationController: UINavigationController

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool {

        testNavigationController = UINavigationController()
        var testViewController: UIViewController = UIViewController()
        self.testNavigationController.pushViewController(testViewController, animated: false)

        self.window = UIWindow(frame: UIScreen.mainScreen().bounds)

        self.window.rootViewController = testNavigationController

        self.window.backgroundColor = UIColor.whiteColor()

        self.window.makeKeyAndVisible()

        return true
    }
}

但是,XCode给了我一个错误:

类"AppDelegate"没有初始值设定项

有人在这方面取得过成功吗?

推荐答案

必须将windowtestNavigationController变量标记为可选:

var window : UIWindow?
var testNavigationController : UINavigationController?

SWIFT类要求在实例化期间初始化非可选属性:

在创建类或 struct 的实例时,类和 struct 必须将其所有存储的属性设置为适当的初始值.存储的属性不能处于不确定状态.

可选类型的属性会自动使用nil值进行初始化,这表明该属性在初始化期间有意设置为"尚无值".

使用可选变量时,请记住使用!对其进行解包,例如:

self.window!.backgroundColor = UIColor.whiteColor();

Ios相关问答推荐

我想在expo 中使用useSafeAreaInsets来获取paddingbottom,但我得到了一个错误

SWIFT中具有可选返回类型和泛型的网络请求

从后台线程调用DispatchObject的方法安全吗?

以编程方式更改VC&39;S导航栏按钮的属性,以响应另一个VC中的按钮按下

IOS:在UI线程中执行代码的闭包样式的替代

如何在iOS 17中拦截UITextView中的链接点击?UITextItemInteraction已弃用

flutter中实现自定义底部导航栏

有没有办法访问自动生成的 Codable 一致性的编码键?

Swift 图表:.chartYScale 似乎只适用于 100 的增量?

搜索在 ios xamarin.forms 中不起作用

DateFormatter 使用 TimeZone 和 Locale 的特定组合返回 nil

使用 @MainActor 更新 UI 的适当策略是什么?

分析应用程序版本时出错 - Apple 提交到store

按钮在 SwiftUI 中没有采用给定的高度和宽度

如何使用 Swift 文档注释

快速禁用 UITextfield 的用户输入

CoreBluetooth 应用程序到底能在后台做什么?

UISegmentedControl 以编程方式更改段数

从 Swift 转换为 Objective-c 的工具

具有两种不同字体大小的 NSAttributedString 示例?