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

  • 相关阅读:
    如何快速把 Vue 项目升级到 webpack3
    10分钟学会ES7+ES8
    数组的32场演唱会
    你做的拷贝是真的深拷贝吗
    浅谈CSS模块化
    CORS跨域资源共享你该知道的事儿
    像VUE一样写微信小程序-深入研究wepy框架
    小型Web页打包优化(下)
    PT与PX区别
    px、pt和em的区别
  • 原文地址:https://www.cnblogs.com/FdWzy/p/14105553.html
Copyright © 2011-2022 走看看