zoukankan      html  css  js  c++  java
  • Xcode编写第一个iOS Demo(OC)及遇到的坑记录

    看了一周的OC语法,准备正式上手,写个最简单的iOS页面试试,结果一路遇到一堆大坑。。

    用Xcode12创立一个空的iOS APP项目,目录是这样的:

     其中MYUIView .h和.m文件是我创建的,其他文件是Xcode自动创建的。

    各文件意义大致是这样:

    入口在main.m,含义是直接调用委托,委托对象的名字是appDelegateClassName变量的值。

    然后AppDelegate文件本来我以为就应该是真正的入口了,但他还不是真正的入口,可以看到:

    AppDelegate是把工作又交给了SceneDelegate,关键这玩意以前版本的Xcode是没有的,我看的iOS书上也没讲有这回事,浪费半天时间。

    另外Xcode工程默认的程序入口是storyboard,我们想直接用代码初始化工程入口,怎么办?

    经过各种百度谷歌,解决方法如下:

    1.删除storyboard,直接move to trash

    2.删除infoplist里的Storyboard

    3.删除工程配置--general--deployment info选项卡下的Main interface(删除Main,回车就行)

    4.删除Info文件下的Application Scene Manifest

    5.删除AppDelegat.m中自动生成的两个委托SceneDelegate的方法(上面图有)

    6.关掉Xcode重启

    好!信心满满开始运行!报错!

    注意到SceneDelegate里有window的声明,window应该算是承接所有view的容器(iOS萌新的看法),所以既然我们不用SceneDelegate了,那么AppDelegate.h里要加上window的声明。

    再运行,又报错了!

    发现是需要一个根ViewController,那么我们再初始化一个:

    终于Run成功了,我好想打人!

  • 相关阅读:
    NSubstitute完全手册索引
    EntityFramework用法探索(二)CodeFirst
    NSubstitute完全手册(十八)检查调用顺序
    单元测试的两种方式
    C#使用Emit构造拦截器动态代理类
    使用Unity进行AOP对象拦截
    C#使用Emit生成构造函数和属性
    AFTER THE AMM, DECENTRALIZED ORDER BOOK EXCHANGES ARE RISING!
    常用Defi工具与网站
    揭秘FPGA:为什么比 GPU 的延迟低这么多?
  • 原文地址:https://www.cnblogs.com/FdWzy/p/14105553.html
Copyright © 2011-2022 走看看