有用的知识又增加了:为何无法编译某些  WWDC 官方视频中的代码?

这篇具有很好参考价值的文章主要介绍了有用的知识又增加了:为何无法编译某些  WWDC 官方视频中的代码?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

有用的知识又增加了:为何无法编译某些  WWDC 官方视频中的代码?

概览

作为 Apple 开发者而言,每期 WWDC 官方视频无疑是我们日常必看的内容。

不过,小伙伴们是否发现视频中有些示例代码在我们自己测试时却无法编译这一尴尬的情况呢?

在本篇博文中,我们将通过一则非常简单的示例来向大家展示为什么会出现这种情况,以及如何解决它!

闲言不再,Let‘s go!!!😉


无法编译! 搞什么飞机?

Apple 在 WWDC21 关于 SwiftUI 3.0 的介绍视频中,曾经谈到了 Button 视图新的显示方式。

其中, 该演示视频强调过,码农们可以用新加入的 .buttonStyle(.bordered)、 .controlSize(.large) 以及 .controlProminence(.increased) 修改器方法来进一步增强按钮的外观显示:

Button {
        ...
  } label: {
    Text("Continue")
      .frame(maxWidth: .infinity)
  }
  .buttonStyle(.bordered)
  .controlSize(.large)
  .controlProminence(.increased)
  .padding(.horizontal)

按钮的显示应该为如下效果:

有用的知识又增加了:为何无法编译某些  WWDC 官方视频中的代码?

不过,现在我们在 Xcode 14.3 中编译如上代码,妥妥的会报错:

有用的知识又增加了:为何无法编译某些  WWDC 官方视频中的代码?

因为 SwiftUI 根本找不到 controlProminence() 这个方法!这是怎么回事呢?

Apple 的“小心机”

Apple 在每次 WWDC 视频中都会展示一些新的功能,其中包括一些新的方法,属性和类等。

不过,上述这些内容并不都是“板上钉钉”的事,有些可能会在正式代码中做出修改甚至删减。

Apple 这种又想“炫酷”又时常“翻脸不认人”的行为,对我们这些秃头码农来说是非常蛋疼的。

有用的知识又增加了:为何无法编译某些  WWDC 官方视频中的代码?

博文开头的“惨案”就由此而引出。

在 WWDC 视频发布时苹果“一拍脑袋”想出了个 controlProminence() 方法来渲染背景突出按钮的显示效果,可在 SwiftUI 3.0 正式发布时却觉得不妥对其做了人道毁灭!

都快两年了,你好歹也更新一下原来错误的视频啊!不可能!这对 Apple 来说绝不可能!!!

有用的知识又增加了:为何无法编译某些  WWDC 官方视频中的代码?

解决之道

所幸的是,诸如此类问题我们都可以自行搜索到解决之法,比如在一些技术大牛(比如我 😉 )的博客、stackoverflow、Apple 官方论坛、某哥里等等。

拿上面的问题来说吧,Apple 连吱都不吱一声就删除了 controlProminence() 方法,而将 SwiftUI 按钮背景突出显示的功能放在了 buttonStyle 的 borderedProminent 样式中,你说气人不气人 😐!

所以,原来的代码现在应该修改为如下样式:

Button {} label: {
    Text("Continue")
      .frame(maxWidth: .infinity)
  }
  .buttonStyle(.borderedProminent)
  .controlSize(.large)
  .padding(.horizontal)

现在疑惑终于解开了,我们又可以边掉头发边观赏可能有些许“变质”的 WWDC 官方视频了!棒棒哒!💯

总结

在本篇博文中,我们讨论了为何有些  官方 WWDC 视频中的示例代码无法编译通过的问题,并给出解决思路。

感谢观赏,再会 😎文章来源地址https://www.toymoban.com/news/detail-456470.html

到了这里,关于有用的知识又增加了:为何无法编译某些  WWDC 官方视频中的代码?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ChatGPT有用到知识图谱吗?它自己是这样回答...

    从搜索引擎到个人助手,我们每天都在使用问答系统。问答系统必须能够访问相关的知识并进行推理。通常,知识可以隐式地编码在大型语言模型(LLMs)中,例如ChatGPT、T5 和LaMDA 等大型语言模型,这些模型在未结构化文本上进行预训练,或者显式地表示在知识图谱(KGs)中

    2023年04月20日
    浏览(38)
  • git中某些二进制文件无法合并,怎么操作pull更新

    当在Git中进行`pull`操作时,如果遇到某些二进制文件无法合并的情况,通常会导致冲突。 1. 首先,运行`git status`命令,查看哪些文件存在冲突。   2. 打开冲突的文件,正常情况下,.h或者.cpp文件,你会看到类似下面的内容:    ```     HEAD    // 本地版本的内容    =======  

    2024年01月18日
    浏览(41)
  • 【软件测试经验只分享有用知识第二讲之测试工具】

    一、常用浏览器 Chrome(必须兼容) 、Firefox、QQ浏览器、360浏览器(极速版) 二、抓包工具 Fiddler、wireshark 三、MySQL图形界面管理工具 navicat   dbeaver 四、画图工具 XMind、Visio 五、数据对比工具 Beyond Compare 六、Hosts文件管理工具 SwitchHosts 七、SSH、FTP客户端工具 Xshell、FileZilla 八、

    2023年04月26日
    浏览(63)
  • 人工智能AI 乐观与怀疑:知识工作者为何感到困惑?

    人工智能 人工智能(AI)是当今最具变革性的技术之一,有可能彻底改变教育、健康、商业和娱乐等各个领域。然而,人工智能带来了重大挑战和风险,例如伦理、社会、法律和经济影响。因此,利益相关者,尤其是直接或间接受人工智能影响的知识工作者,对人工智能的看

    2024年03月19日
    浏览(71)
  • MEME成风,为何比特币生态无法复刻以太坊生态的多样玩法?

    铭文市场火了之后,很多人对 BTC L2 投入了过多的期许,认为 BTC 2 层会像以太坊 layer2 一样辉煌? 然而事实是,比特币生态的「成功」可能很长时间会停滞在「资产发行」叙事阶段,要复刻以太坊的生态多样玩法,或许根本行不通。Why?接下来分享几个技术逻辑: BTC 和以太

    2024年02月05日
    浏览(43)
  • RK3588开发板编译环境Ubuntu20.04编译配置增加交换内存

    迅为提供的编译环境 Ubuntu20.04 默认配置了交换内存是 9G,如果在编译过程中,因内 存不够而编译报错,可以参考本小节进行设置。 这里举例分配 5G 交换内存。 在开始之前,使用命令检查一下您的 ubuntu 的 swap 分区。 sudo swapon --show 通过以下命令创建一个用于 swap 的文件 su

    2024年02月11日
    浏览(41)
  • 华为荣耀的激活锁是什么如何解开呢卡在激活设备手机无法进系统学会几种有用的方法

       荣耀手机华为手机双清了。重新激活时提示有华为账户锁怎么取消关联账/号华为账号被设定了怎么办华为手机被机主锁定设备密码锁激活失败申诉激活无法找回账/户ID密码不拆机免激活码解锁办法,解决实例和拆机方法维修弄好步骤有拆机方;法也有免拆不用拆机的方法

    2024年02月09日
    浏览(178)
  • Vue3使用van-uploader遇到某些安卓机型(小米、vivo、oppo等等)无法上传文件解决方案

    最近在做移动端时遇到个上传附件的需求是只能上传以下类型的文件: 图片文件(jpeg、jpg、png) 文档文件(pdf、txt、doc、docx、xls、xlsx、ppt、pptx) 在这里我用的是有赞的上传组件,但是上线后,发现苹果手机没有问题,反而一些安卓手机都出现了问题,在经过几次的修改,

    2024年02月13日
    浏览(41)
  • 电脑存储:A盘、B盘知识介绍,为何总是电脑磁盘从C盘开始

    ❤️作者主页:IT技术分享社区 ❤️作者简介:大家好,我是IT技术分享社区的博主,从事C#、Java开发九年,对数据库、C#、Java、前端、运维、电脑技巧等经验丰富。 ❤️个人荣誉: 数据库领域优质创作者🏆,华为云享专家🏆,阿里云专家博主🏆  ❤️个人博客:IT技术分享

    2023年04月09日
    浏览(43)
  • 体验版小程序为何无法访问云端服务器后端接口(请求失败...(已完美解决附加图片))?

    体验版小程序访问不到后端,接口请求失败,这个及其头疼的今天这个坑被我踩到了,呜呜呜~ 今天再发体验版小程序时,在微信开发者工具上面是可以正常访问后端的,但是线上体验版本就访问不到,废话不多说,下面我总结了几个 解决的方案 ,如果你的和我不一样,记得

    2024年02月15日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包