• 一步
    2019-06-09
    老师 ,那么改完代码自动运行是怎么设置的啊? 不用在每次点击运行按钮了?

    作者回复: 快捷键 command + R

    
     4
  • Bojack
    2019-09-24
    iOS13里生命周期有所调整需要将代码移动到SceneDelegate.m中
    ```
        self.window = [[UIWindow alloc] initWithWindowScene:(UIWindowScene *)scene];
        UITabBarController *tabbarController = [[UITabBarController alloc] init];

        UIViewController *controller1 = [[UIViewController alloc] init];
        controller1.view.backgroundColor = [UIColor redColor];
        controller1.tabBarItem.title = @"xinwen";

        UIViewController *controller2 = [[UIViewController alloc] init];
        controller2.view.backgroundColor = [UIColor greenColor];
        controller2.tabBarItem.title = @"keji";

        UIViewController *controller3 = [[UIViewController alloc] init];
        controller3.view.backgroundColor = [UIColor blueColor];
        controller3.tabBarItem.title = @"tuijian";

        UIViewController *controller4 = [[UIViewController alloc] init];
        controller4.view.backgroundColor = [UIColor yellowColor];
        controller4.tabBarItem.title = @"wode";

        [tabbarController setViewControllers:@[controller1, controller2, controller3, controller4]];

        self.window.rootViewController = tabbarController;
        [self.window makeKeyAndVisible];
    ```
    展开

    作者回复: 👍!

    
     2
  • wuwei
    2019-08-07
    tabbarItem这个属性是UITabBarController的属性,UIViewControlle是UITabBarController的父类,在调用时并不存在这个属性,为何不报错呢

    作者回复: tabbarItem虽然在UITabBarController.h这个文件中,可以看一下这个属性的上面一行,@interface UIViewController (UITabBarControllerItem) 系统函数其实是在这个文件中实现了一个UIViewController的扩展,是UIViewController的属性。

     1
     2
  • marshal
    2019-11-29
    viewController 的命名GT是代表什么意思?

    作者回复: 极客时间 Geek Time 哈

    
     1
  • 十万嬉皮
    2019-10-10
    老师,ios13更新之后是不是变动挺大的。。我这样写跑不起来会报错

    作者回复: 是的。iOS13之后,appdelegate的指责发生了变化,具体的可以参考https://developer.apple.com/videos/play/wwdc2019/42 这个session。 简单的说和UI生命周期相关的回调都交给了SceneDelegate 这个delegate,而appdelegate主要负责 app 生命周期相关的回调。对于window来说,作为一个特殊的UI,也自然的变成了SceneDelegate的一个property,我们可以在SceneDelegate的头文件中找到它,并在willConnectToSession这个函数中使用。简单的说,在iOS13中将对应的代码移动到SceneDelegate.m中即可。

    
     1
  • sololo
    2019-10-06
    您好:
    按照视频 7 分 16 秒时的代码设置window :

    ```
    - (BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary<UIApplicationLaunchOptionsKey, id> *)launchOptions {
        self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
        self.window.rootViewController = [[UIViewController alloc] init];
        [self.window setBackgroundColor:[UIColor redColor]];
        [self.window makeKeyAndVisible];
        return YES;
    }
    ```
    运行程序出现以下错误:

    SimpleApp[37324:5421992] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[AppDelegate setWindow:]: unrecognized selector sent to instance 0x600003c580b0'

    请教是什么含义呢?该怎么解决?🤝
    展开

    作者回复: 应该是下载新的Xcode用的iOS13导致的。iOS13之后,appdelegate的指责发生了变化,具体的可以参考https://developer.apple.com/videos/play/wwdc2019/42 这个session。 简单的说和UI生命周期相关的回调都交给了SceneDelegate 这个delegate,而appdelegate主要负责 app 生命周期相关的回调。对于window来说,作为一个特殊的UI,也自然的变成了SceneDelegate的一个property,我们可以在SceneDelegate的头文件中找到它,并在willConnectToSession这个函数中使用。简单的说,我们讲视频中对应的代码移动到SceneDelegate.m中即可。

     1
     1
  • sololo
    2019-09-27
    Xcode 对代码格式化的 快捷键是什么呢?

    作者回复: 建议使用xcformat这个工具 具体的在重构那一节课有讲解哈 36节

     1
     1
  • eee-曲项向天歌
    2019-04-18
    7分20秒的跳转到UITabBarController,快捷操作是什么?一脸懵逼呀。

    作者回复: shift+command+o 这个是open quickly的快捷键,可以在里面输入类和函数,快速的进行跳转

    
     1
  • 盗马将
    2019-12-15
    老师,对于刚刚学ios的人怎么耍,现在的教程有点不一样。ios更新的太快,工具和语法和教程有点不匹配。很多demon都实现不了

    作者回复: 虽然技术不断更新,但是都是在之前技术上的发展和延伸。所以不管学习iOS或者其他,只要从一个阶段开始深入的学习和练习,即使之后有更新,也会很快的适应。同时对于系统级别的更新,无外乎是更改API、推出新功能等等,但是对于客户端开发甚至大前端的开发,核心的原理和技术的架构都是不变的。所以初学时不需要追逐新技术,也不用焦虑,从一点沉心深入下去就好,之后你会发现新技术也不像之前那么遥远。

    
    
  • Agony
    2019-11-15
    老师,按照你讲的UITabBarController 时,运行报错: Thread 1: signal SIGABRT 打印往下走 Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0),是什么原因啊,急~~~

    作者回复: 上传下代码,我帮你看下

    
    
  • Colin
    2019-09-07
    看到这 是不是应该先讲一下工程的结构

    作者回复: 工程的结构是一直调整的,中间穿插着重构和功能的修改等等,所以如果最开始就提供一个完整的结构,或许不利于大家的理解。可以先继续的看一看,如果有迷惑的地方可以直接留言哈~

    
    
  • Jay
    2019-09-04
    老师,我把你代码里的icon.bundle放到我的项目里图片运行后图片不显示啊

    作者回复: 正确的添加进来了么?可以在build Phases的Copy Bundle Resources中看下是否有这个bundle,没有的话需要添加下引用

    
    
  • beenchaos
    2019-08-30
    老师好:
    15:28 中的icon.bundle资源是如何添加到项目中的哈?

    作者回复: 就是像正常文件添加一样哈, 在创建的时候右上角的filter中搜索bundle,然后正常创建即可,然后就像正常文件夹一样使用就可以啦。在后面的课程中也有详细的介绍使用imageAsset以及bundle的区别等等。

    
    
  • 帅的科幻的男人
    2019-08-20
    [self.view addSubview:({
            UIImageView *likeImageView = [[UIImageView alloc] initWithFrame:CGRectZero];
            likeImageView.layer.masksToBounds = YES;
            likeImageView.layer.cornerRadius = 15;
            likeImageView.translatesAutoresizingMaskIntoConstraints = NO;
        
            likeImageView;
        })];

    self.titleLab = [[UILabel alloc]init];
    self.titleLab.textColor = STHexColor(@"#333333");
    self.titleLab.font = MYF(16);
    self.titleLab.text = @"说点什么";
    self.titleLab.textAlignment = NSTextAlignmentCenter;
    [self.view addSubview:self.titleLab];
    [self.titleLab mas_makeConstraints:^(MASConstraintMaker *make) {
          make.right.left.equalTo(self.view);
          make.bottom.equalTo(self.textField.mas_top).offset(-MYH(20));
          make.height.offset(MYH(20));
    }];

    [self.view addSubview:({ })];和[self.view addSubview:self.titleLab];有啥区别吗
    展开

    作者回复: 没有区别,就是写法不同

    
    
  • 胖成一条河
    2019-08-08
    代码下载不下来。。。

    作者回复: github上别的项目应该也不行吧?这个应该是网络或者代理的问题。可以搜索下如何科学上网,或者检查下代理的配置,以及git的配置等。

    
    
  • itgou
    2019-06-25
    老师,您使用的导航栏的4个图标放哪里的呢,源码里面好像没有呢?

    作者回复: 在icon.bundle 这个文件夹中,右键显示包内容

    
    
  • okho
    2019-06-19
    老师好,请问图片资源放在bundle里面和放在axassets里面有区别吗,那个会更好一点?

    作者回复: 如果没有历史包袱和特殊逻辑 建议使用assets 之后的课程会有专门的讲解

    
    
  • Geek__2099
    2019-05-17
    非常感谢您抽时间帮我看下问题。
    代码已经上传,地址:
    https://github.com/Gorge2088/ios_app
    我的mac配置是:
    ----------------------------------------
    MacOS High Sierra
    macos 版本:10.13.6
    MacBook Pro (13-inch, Late 2011)
    处理器:2.8 GHz Intel Core i7
    内存:16 GB 1600 MHz DDR3
    图形卡:Intel HD Graphics 3000 512 MB
    ----------------------------------------
    xcode版本:Version 10.1 (10B61)
    ----------------------------------------

    第一次单击的事件实际已响应,但屏幕更新总是慢一些。第二次点击触发了屏幕立即更新。
    在我做的另外一个app中,通过直接更换rootviewController进行页面切换,经常也是停留在当前页面中,如果鼠标点击了目标页面的某个文本框后,页面才进行切换,否者要等待比较长的时间。使用滚动事件时也可以出发第二个页面立即进行切换。即使是非常简单的页面也是这个现象。
    以上现象在真机上调试都不会出现。

    现在不清楚是mac机器的性能不足,还是开发环境问题?也许是自己水平太浅导致。

    如果我想跟踪到底层,有什么思路和资料可以推荐?
    非常感谢!
    展开

    作者回复: 我这边用真机和模拟器都跑了下这个t1项目,都有立即切换,同时review了下代码 应该也没有可以导致这种问题都代码。如果你这边用真机调试正常,模拟器不正常,看是2011年都电脑,有可能是性能问题。

    
    
  • Geek__2099
    2019-05-14
    请教下我的mac上UITabBarController切换controller时要双击才行,而不是单击切换。
    或者:
    1,启动后,APP默认在第一个controller1中。
    2,在tabBarItem2上单击,无反应。
    3,随便单击在TabBar上的某个地方,页面切换到controller2。
    页面总是切换成前一次单击的tabBar对应的controller。
    网上查不到原因,求助一下。
    展开

    作者回复: 如果不是用的demo,是自己写的代码,建议把代码上传下,发下链接哈,我可以帮看下代码

    
    
  • VHJM
    2019-05-12
    没说 icon.bundle 打哪里来的啊😲

    作者回复: 后续的课程会讲解本地图片管理相关的知识

    
    
我们在线,来聊聊吧