Tag: Ios实习

作为iOS开发人员实习12周-第五周

我做了一个演讲,使用iPad应用程序参加了公司的野餐! 先进的斯威夫特 我在Chris Eidhof先生的Advanced Swift上做了30分钟的演讲。 我学到了很多关于Swift语言功能的知识,甚至还了解了诸如for循环之类的东西在引擎盖下如何实际工作的知识。 我写了大约八页的笔记,并创建了一个幻灯片,其中包含28张幻灯片以准备演示文稿。 我在iOS部门公司会议上作了介绍。 在演讲过程中,我很高兴意识到书中有些东西甚至连高级的iOS工程师都不知道,因为没人知道那里的一切,这没关系! 在演讲开始的那几天,我非常紧张,最终进展顺利。 除了在第一张幻灯片中我列出了错误的作者之外……–我只是在检查大家是否都在注意😅LOL jk。 事后看来,将演示文稿摆在其他演示文稿之前,以在真正的演示文稿之前捕获此类错误是一个好主意。 在iPad应用程序上工作 在本周之前,我之前从未从事过iPad应用程序的开发,因此有机会获得如此激动! 我注意到的唯一非常明显的区别是,iPad的屏幕尺寸显然比iPhone😂大。 当我使用iPad模拟器运行该应用程序时,它比实际的iPad设备要慢得多。 请务必注意这一点,因为该应用程序的某些错误在模拟器中并不明显,而在iPad设备上则显而易见。 —始终在设备上测试应用程序。 这是我本周了解到的一些信息: UIVisualEffectView UIVisualEffectView是用于创建模糊效果的对象。 上面的图片是一个模态UIView,在UIView上带有ImageView。 请注意x按钮旁边的模糊程度如何变暗,这是因为此模式UIView后面有一个深色的菜单栏。 首先创建一个具有模糊效果的UIView。 使用阴影实现灰色模糊效果 如果您查看此blurView,它具有灰色。 它是blurView后面的白色。 应该是白色的吧? 那么这是怎么发生的呢? 无法为此模糊效果设置颜色。 这是通过将阴影添加到模态呈现的UIView并将阴影半径设置为一直延伸到屏幕边缘来实现的。 动画阴影看起来要平滑得多。 公司野餐 Fuzz的野餐是在前景公园。 很高兴认识该公司更多的人,并通过热狗,汉堡和饮料与他们聊天。 我很高兴Fuzz拥有如此轻松的活动,使我能够在轻松的环境中与同事保持联系。 据预测,雷雨将在八点开始暴风雨,但它来得有点早,所以我们都去了附近的酒吧。 这是结束一周的愉快方式。 再见第五周,第六周你好!

作为iOS开发人员实习生的12周-第三周

我深入研究了Chris Eidhof的“ Advanced Swift”,Ray Wenderlich团队的“ RxSwift”,并开始在我的第一个大型应用程序屏幕上工作。 Advanced Swift使我对Swift语言的工作方式有了更好的了解。 例如,您可以遍历数组和字典的原因不是因为它们是数组和字典。 因为数组和字典符合Sequence协议,所以可以迭代数组和字典。 序列 -一系列相同类型的值,可让您遍历这些值 遍历序列的最常见方法是for循环 为了符合序列协议,请提供一个返回迭代器的makeIterator()方法 为了符合序列协议,必须实现返回迭代器的makeIterator方法。 迭代器-一次生成序列的值,并在遍历序列时跟踪其迭代状态(for循环) 当然,迭代器必须符合迭代器协议。

作为iOS开发人员实习生的12周-第二周

前iOS主管一直给我留下的一句话是始终追求卓越。 我本周每天醒来,在上班途中考虑这一点。 这周,我开始研究项目的一些屏幕和错误修复。 这是第二周我学到的一些东西: 一致的约束插入量/偏移量-使用一致的约束插入量和偏移量时,最好将它们包含在结构中,这样约束中就不会乱扔随机数。 例: 我得到的数据具有枚举类型,且其关联值均为“ asap”或Date类型,两者均为关联值。 我必须从数据中获取日期,但我一生都无法弄清楚。 访问没有关联值的枚举的通常方法是使用(.dotNotation)。 这对我不起作用,因为这不是您访问枚举的关联值的方式(请坚持这种想法)。 这导致我尝试了一些复杂的整理方法,将数据转换为字符串,结果是: 字符串“ date(“ 2018–07–07 11:00:00 +0000”)” 然后使用.dropFirst()和.dropLast()的字符串处理方法删除“ date()”部分,最终导致 字符串“ 2018–07–07 11:00:00 +0000” 但是由于某种原因,我尝试使用Date方法将此字符串转换为不起作用的日期….. 这是我终于向经理寻求帮助的时候。 他确认我的最初直觉是正确的, 我应该通过数据枚举的关联值来访问日期! ;-; tldr:有两种方法时: 一种简单的方法应该可以工作,但您无法弄清楚或 一个漫长而复杂的方法,这可能是您应该获得帮助的时候,因为这是浪费开发人员时间的方式。 如果我刚刚问这个问题,我可能会节省很多时间,这将花费一分钟使我走上正确的道路。 学过的知识! 无论如何,这是如何访问枚举的关联值: 通过打开枚举 通过大小写访问关联的值 3. 如何从Date()中完全拼出月份和月份的顺序日期 例如:日期(2018–07–07 11:00:00 +0000)—> 2018年7月7日 据我所知,Apple没有提供给您拼写出月份和顺序日期的方法。 所以这就是我的做法: 你这周学到了什么?

作为iOS开发人员实习生的12周-第四周

第四周过去了,这是我本周所做的事情〜 我第一次自己解决了合并冲突和合并分支的问题,这真是令人兴奋! 我还了解了如何合并UIView,动态标签创建以及有关相互依赖的约束的更多信息。 整合UIViews 当构建一个包含多个UIView的复杂屏幕时,请考虑是否可以重用这些UIView中的任何一个,而不是创建两个具有几乎相同代码的独立UIView文件。 例如,“添加付款方式”和“添加促销代码”是ScrollView中ContentView内部的两个UIView。 它们最初几乎完全相同,但是在用户交互后会更改。 这两个UIView可以合并为一个可重用的UIView,而不是拥有两个UIView文件。 在ReusableView中,枚举用于控制两个视图中的差异标签/差异行为。 动态标签创建 我认为基于传入的数据动态创建的文本标签是有史以来最酷的事情! 这是从一个自定义UITableViewCell创建的UITableView中的两行。 成分选项标签是stackView中的标签。 请注意,第二行没有选择自定义成分选项,因此不会生成标签。 这些自定义成分标签是在更新单元格功能内部生成的。 约束条件 如果您的元素将始终在同一位置对齐,则最好将这些元素彼此约束而不是独立约束。 即:productLabel的顶部约束和priceLabel的顶部约束应等于quantityLabel的顶部约束。 这样,如果顶部约束需要稍微偏移一点,则只需要更改quantityLabel的顶部约束,因为另一个标签的约束已经依赖于该约束。 我在本周使用的一些超级有用的git命令: 1.恢复为先前提交 查看以前提交的哈希 git日志 获得正确的提交哈希后,您想还原为: git reset –hard hashOfCommitYouWantToRevertTo 2.合并分支 首先确保您在要合并INTO的分支上 git checkout branchYouWantToMergeInto 然后确保您在正确的分支上 git merge branchYouWantToMergeIn 这应导致: 3.合并冲突 合并冲突文件路径将在终端中显示 我喜欢使用Sublime修复pbx proj文件上的合并冲突 subl pathOfPbxProj 修复Sublime文本编辑器中的pbx proj冲突 退出Xcode 使用以下终端命令打开工作区: 打开* xcw * 修复工作区中的其他合并冲突 第四周就这样了! 😊