首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    iOS 面试策略之算法基础4-5节

    比如上图这棵树,用 UITableView 就可以写成这样: [1240] 其中"#"表示空节点。明眼人可以看出,我们是按照层级遍历的方式布局整个 UITableView。...在Swift 中,用 let 和 var 的地方要区分清楚,该不该定义数据为 optional,有没有处理 nil 的情况都是很容易忽略的。 5....} 在 Java 中,其自带的 sort 函数部分是用归并排序实现的。而在 Swift 源代码中,sort 函数采用的是一种内省算法(IntroSort)。...因为新闻内容经常会更新,所以每次下拉刷新这个UITableView或是点击右上角刷新按钮,经常会有新的内容加入到原来的dataSource中。刷新后合理插入新闻,就要运用到搜索和排列。...总结 排序和搜索在 Swift 中的应用场景很多,比如 tableView 中对于 dataSource 的处理。二分搜索是一种十分巧妙和高效的搜索方法,它会经常配合排序出现在各种日常开发中。

    89960

    WWDC20中iOS的改变

    也就意味着collectionView可以做UItableView的事情了(不再需要UItableView),同样,该样式还支持左滑删除等tableview的特色属性。...PencilKit使开发人员可以轻松地在其应用程序中集成绘图画布视图和工具包。 PencilKit可让您轻松快捷地将手绘内容整合到iOS或macOS应用中。...PencilKit为iOS应用程序提供了一个绘图环境,该环境可以从Apple Pencil或用户的手指中获取输入,并将其转换为您在iOS或macOS中显示的高质量图像。...Catalyst中,甚至引入了macOS上不存在的框架,从而可以更轻松地将应用程序引入Mac Catalyst,而不必在为Mac编译时有条件地排除代码,目前的目标(macOS Big Sur或更高版本)...今年的API增加了Catalyst对在iOS中处理物理键盘事件的支持,这对设备的用户行为上报是个利好消息,此外,tvOS的焦点引擎API现在可用于Mac Catalyst中的应用程序,UICollectionView

    2.2K10

    iOS_Crash 异常类型

    在 ARM 处理器上显示为 EXC_BREAKPOINT(SIGTRAP) 在 x86_64 处理器上显示为 EXC_BAD_INSTRUCTION(SIGILL) Swift 运行时错误 Swift...如果 Swift 运行时遇到编程错误,运行时会捕获该错误并故意使程序崩溃,这些崩溃在崩溃报告中具有可识别的异常信息: 在 ARM 处理器: Exception Type: EXC_BREAKPOINT...优化执行后台任务的代码以提供 CPU 效率,或减少程序在后台运行时执行的工作量以解决此崩溃问题。...减少程序在后台运行时执行的工作量以解决此崩溃问题。...尽管可以通过减少应用程序在后台任务中执行的工作量来避免该问题,但0xc51bad03并不表明该应用程序做了任何错误。更有可能的是,由于整体系统负载,应用程序无法完成其工作。 ---- 5.

    2.8K20

    iOS之深入解析Xcode 13正式版发布的40个新特性

    四、资产目录 应用程序现在可以使用其资产目录中的 iOS 应用程序图标资产作为备用应用程序图标; 允许选择适用于所有平台(包括 watchOS)的通用系统颜色。...十七、Organizer Xcode 现在可以近乎实时地提供崩溃报告,数据保留时间更长; Xcode 现在提供具有更多过滤功能和更多统计信息的崩溃报告; 现在可以通过 URL 共享崩溃报告; Xcode...现在会显示您的崩溃问题的 TestFlight 反馈,以便更好地了解问题所在; 现在可以根据任何特定的历史应用程序版本、任何特定的历史应用程序版本、产品类型(如 App Clip、应用程序扩展或主应用程序...; Xcode 现在为在运行测试时崩溃的进程收集代码覆盖率数据; 性能 XCTests 现在支持测量应用程序启动时的 CPU 使用率 (XCTCPUMetric)、磁盘写入 (XCTStorageMetric...例如,按下 Delete 键始终会删除一个字符,并且不会触发 Delete 键命令(如果存在)。

    11K40

    AsyncDisplayKit 2.0 教程:入门「译」

    在这两部分 AsyncDisplayKit 2.0 教程中,你将掌握使用ASDK构建一个实用的和动态的应用程序的所有要素。在第一部分中,你将要学习一些在你构建应用程序时可以用到的宏观思想。...免费App排行榜前100大多数都没有使用Swift(至少6个使用ASDK)。出于这些原因,本系列将重点介绍 Objective-C。话虽这么说,我们已经包括了一个Swift版本的实例项目。...构建并运行以查看包含 UITableView 动物列表的应用程序。...注意:确保在真机上运行本教程中的代码,而不是在模拟器中运行。 向上滑动你将看到帧数丢失引起的卡顿。你不需要启动控制台,以便能发现到这个应用程序需要在性能方面上的一些优化。...记住,iOS应用程序中的所有在屏幕上的显示都通过CALayer对象表示的。UIViews 创建并且拥有一个底层的 CALayer,并为他们添加触摸处理和其他交互功能。

    2.8K20

    iOS 9 Storyboard 教程(二下)

    直到你segue他们,其他的viewController才被实例化.当你关闭这些viewController的时候,他们就立即被释放了.所以只有使用的ViewController才存在内存中....在PlayerDetailsViewController中添加一个初始化方法和一个反初始化方法: required init?...现在让我们给这个新的控制器一些数据来显示吧.在GamePickerViewController.swift中,把一个具有硬编码值的games字符串数组添加到顶部: var games:[String]..."Chess", "Russian Roulette", "Spin the Bottle", "Texas Hold'em Poker", "Tic-Tac-Toe" ] 现在从模板里替换数据源方法...Paste_Image.png 本教程的所有源代码: 请到这里下载:下载链接 翻译过程中,有个别地方不是十分准确,希望大家批评指正有好的建议也可以回复

    3.1K10

    老司机 iOS 周报 #77 | 2019-07-29

    Reducing Memory Footprint and OOM Terminations in iOS @红纸:当应用程序消耗太多内存,就会被系统杀掉。占用过多的内存空间会增大被查杀的概率。...在瀑布流这种滚动展示图片列表中,可以使用计时器统计活动中的图片,为活动中的图片加载剩余的部分。...LSUnusedResources:作者是 @tinymind,是一款图形界面的 Mac 应用也是用来删除项目无用的资源文件。...的文件,然后在源文件 ["m", "swift", "xib", "storyboard"...] 中字符串匹配,无匹配则是无用的资源文件。...M80TableViewComponent @anotheren:来自网易的 UITableView 的组件化解决方案, 不用再和 IndexPath 及数组越界打交道 权责分离,和冗长的 UITableView

    1K30

    Swift 项目 - Xib | StoryBoard 多人协作技巧

    拿美团的主页UI举例 这样的首页较为复杂,正常布局的话需要多个CollectionView和一个UITableView 如果这些视图的Delegate都由ViewController来实现,自然显得臃肿且混乱...这个问题其实问的很模糊,我也是咨询了很多人才知道,他们所谓的问题不容易测试,是指如下两种情况: 修改或删除 @IBOutlet 的变量名时,对应的Storyboard上未做处理,导致运行时崩溃,崩溃内容看不懂...绑定的类名改变时,对应的Storyboard上未做处理,导致运行时崩溃,崩溃内容看不懂!...,可能是改名或者删除了。...这时可以全局搜素一下 在搜出来的结果中可以看到,是在Main.storyboard上绑定了HomeController,Test.swift文件中定义了该类,但是因为改名所以无法找到。

    2.6K20

    使用流动控制器(Flow Controller )实现 MVVM 协议模型

    但我关注的是有关架构的分层,它为了(更好的部署)自动测试,让 QA 分析员想出新的测试机制来保证应用程序的(高)质量。...对于这种情况,有必要研究一下 Swift 的泛型,虽然它仍然有一些问题。...我们可以看到在 OwlsFlowController 案例中,通过配置选择是否在网格还是列表中显示数据,在本例中是固定的,但它可以有两种测试情况。...所有的创建、删除都没有业务实现。 另一件事是为了填充子单元封闭的通道,在不久将来它可以允许我们用一个参数来决定使用那部手机。...备注:因为某些原因,在某些情况下,Swift 将不会接受一个泛型类型作为一个 init 方法的协议参数。目前仍在调查究竟是 Swift 的 bug 还是故意限制。

    1.2K40

    用这些 iOS 技巧让你的 APP 性能更佳

    有时,由于内存不足,操作系统可能需要在应用程序处于后台时从内存中删除应用程序,如果不保留状态,应用程序可能会丢失其对最后一个UI状态的跟踪,可能会导致用户丢失正在进行的操作!...为了实现状态保存和恢复,我们可以在 AppDelegate.swift 中实现下面两个方法: func application(_ application: UIApplication, shouldSaveApplicationState...请记住,当应用程序被用户强行关闭时,操作系统将删除已保存的状态,避免在状态保存和恢复时出现问题。...当用户强制退出你的应用程序时,状态数据将被删除,你当然不希望以这种方式丢失模型数据。 要测试状态保存和恢复是否正常,请按照以下步骤操作: 使用Xcode构建和启动应用程序。...要删除图像的 Alpha 通道,可以使用预览应用程序复制图像(Shift⇧ + Cmd⌘+ S),并在保存时取消选中Alpha复选框。 ?

    4.3K30
    领券