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成功了,我好想打人!

  • 相关阅读:
    牛客(46)孩子们的游戏(圆圈中最后剩下的数)
    牛客(45)扑克牌顺子
    牛客(44)翻转单词顺序列
    牛客(43)左旋转字符串
    牛客(42)和为S的两个数字
    牛客(41)和为S的连续正数序列
    牛客(40)数组中只出现一次的数字
    牛客(39)平衡二叉树
    牛客(38)二叉树的深度
    牛客(37)数字在排序数组中出现的次数
  • 原文地址:https://www.cnblogs.com/FdWzy/p/14105553.html
Copyright © 2011-2022 走看看