初学者摸索出的 iOS 开发的一些基本操作——按钮点击事件和页面跳转 有更新!

2022-03-20

最近在上iOS开发技术这门课。之前从来没有真正使用过苹果的产品,不管是手机还是电脑。至于开发工具Xcode就更加陌生了。而且苹果不像微软会出官方的编程教程,网上关于Swift的教程也非常杂乱,不成体系,Swift本身的更新换代速度也非常快,网上的资料往往都是过时的,往往是看了半天不知所云。只能靠自己在杂乱的资料中整理出有用的信息,在此记录下来。 新版本的Swift有一个特色,就是它的绑定机制,你在代码里面是看不出哪个控件和哪个方法绑定的,而是得去控件的属性里面查看。 如图,这里有两个按钮,但代码里面只有一个按钮点击事件,直接看是看不出对应的是哪个按钮的。 选中按钮,展开属性后可以看到它的Touch up inside事件绑定了change方法。 具体这个按钮事件的创建过程如下:选中按钮,按住ctrl键(虚拟机环境下),用鼠标拖动按钮,你会发现拖出来一条线,将这条线拖入ViewController的空白位置松开,就会弹出一个创建事件的窗口,填完信息后就创建了一个绑定到按钮的方法,这个方法体里面写的代码就是触发按钮事件时会执行的代码。 还有一个操作是不同页面之间的跳转。创建项目时默认会创....

VMware 虚拟机安装 Mac OS 和 Xcode 的过程

2022-03-20

最近要上iOS开发技术这门课,但我没有苹果电脑,机房也不让我们用,只能在自己的电脑上装苹果系统。双系统的安装比较复杂,稳定性也不好,还是用最稳妥的在虚拟机上安装的方法。 首先下载安装最新版的VMware Workstation Player(写文章时最新的版本是15),网址如下:https://www.vmware.com/cn/products/workstation-player/workstation-player-evaluation.html 个人使用这款软件是免费的,免去了网上一些死板教程下收费版的VMware Workstation Pro还要破解的过程。 可以先打开VMware Workstation Player看一下,点击创建新虚拟机-稍后安装操作系统,可以看到是没有Mac OS的选项的。 我们还需要下载一个解锁工具,下载地址如下:https://github.com/DrDonk/unlocker/releases,这个网站中的内容应该是在不断更新,找最新版本的zip包下载(写文章时最新的版本是3.0.2),解压之后用管理员身份运行win-install.cmd文....

了不起的 VSCode

2022-03-20

VSCode是目前我心目中最好用的编辑器了。我们暂且不谈论Linux系统上的编辑器,在那边,Vim是绝对的王者,如果一定要说有竞争对手的话,Emacs也能算一个。从我个人的经历来说,在我上中学的年代,一个主流的编辑器叫做UltraEdit,这个编辑器功能很强大,但要收费,价格还不便宜。当时对于UltraEdit的替代品叫NotePad++,这个编辑器是免费的,启动速度也非常快,但是界面实在不怎么好看。之后是个编辑器混战的时代,Sublime、Atom、Webstorm等等各种编辑器的拥趸纷纷说自己的编辑器有多好,直到VSCode横空出世。目前VSCode已经是使用人数最多的编辑器,一张去年的统计数据如图: 这张图表上其他的编辑器的“年纪”基本上都比VSCode大,但却被它打败了。 而从目前各个程序员社区的反馈情况来看,VSCode的使用人数还在不断增长,因此今年VSCode的份额一定比去年还要高,稳稳占据第一的位置。可以说这是微软这几年来做得最成功的一个软件项目。 我们说人的使用习惯是很重要的因素,除非另一个工具特别好用,否则不会改变自己的习惯去使用新的工具。 VSCode到底好在哪....

Swift 中不同窗体的切换和传递数据 (segue 的用法)

2022-03-20

废话不多说,直接进入正题 首先在storyboard中新建一个ViewController,再新建一个名为NewViewController的cocoa touch class文件,继承UIViewController,将新建的ViewController绑定到NewViewController类上。现在storyboard中就有两个ViewController了。如图: 之后设计窗体上的控件,在第一个窗体(称为窗体A)内放一个标签和一个按钮,在第二个窗体(称为窗体B)内放一个输入框和按钮。将标签和输入框的outlet绑定到swift文件中,为两个按钮分别添加各自的监听事件。如图: 我们的目标是点击窗体A的按钮能够跳转到窗体B,同时窗体B输入框中的内容变成窗体A标签内的文字,在修改输入框中的内容,再点击按钮,能够跳转回窗体A,同时窗体A标签中的内容变成在窗体B的输入框中修改的内容。 我们选中第一个窗体上方三个按钮中的第一个按钮,用拖拽的方式拖到第二个窗体,并在弹出来的选项中选择show detail。如图 之后就可以看到两个窗体之间新增了一条连接线 选中这条连接线,设置....

Docker 新手心得

2022-03-20

说实话,我之前对于Docker的印象并不算太好,觉得这又是一个赶时髦的技术,过不了多久热度就会过去的。不过这学期选了一门企业级服务器导论的课中讲到了关于Docker的内容,而且现在Solo也大力推荐使用Docker进行部署,让我感觉不了解一点关于它的知识好像不太合适。于是就学习了一些相关的内容,并做了一些简单的实践。 首先,我一开始只知道Docker是把不同的软件隔离在不同的容器中运行,但是并不知道这样的意义何在。我觉得从我们个人计算机的使用角度来看,不同的软件在操作系统中同时运行并没有什么问题啊,就算是我在阿里云(算是服务器了)里面部署的网站,也是一堆软件直接装在一个操作系统上,运行也非常正常,为啥还要专门装到Docker里面隔离开来,简直就是莫名其妙嘛。之后在企业级服务器上老师讲了企业级应用的部署发展史,才终于明白Docker的意义。课上老师说到最早的时候企业级应用在服务器中的部署和个人计算机中应用的运行差不多,都是一大堆软件同时运行在一个操作系统上。但是后来有人发现这样非常不安全,一但黑客攻破了其中一个软件,他就有可能从这个软件出发获取到整个操作系统的权限,从而控制服务器上的所有....

外文资料翻译——The Semantic Web(语义网)

2022-02-19

译者注:这篇文章是万维网之父蒂姆·伯纳斯·李于2001年发表于《科学美国人》杂志上的文章。在文章中作者阐述了一种新的网络构想,即语义网,它不仅仅能让人阅读网页中的内容,还能让机器理解网页中的含义。目前网络上暂时没有找到这篇文章的完整中文版。一些语句因为两种语言表达方式的差异可能不太通顺,请大家多多包涵。 语义网 一种对计算机发展有深远意义的新的Web内容形式,可能产生新的知识革命 by TIM BERNERS-LEE, JAMES HENDLER and ORA LASSILAo:p 当电话响起时,音箱里正在播放披头士的《We Can Work It Out》。皮特接起电话时,电话通过向所有拥有音量控制功能的本地设备发送了消息以调低音量。他的妹妹露西从诊所向他打来了电话,说道:“妈妈需要去医院看专科医生,之后需要接受一系列的治疗。每隔两周,我要让我的代理(agent)(译者注:agent这词在后面多次用到,感觉翻译成代理并不太贴近,但也暂时想不到更好的表述)去进行预约。”皮特立即同意承担司机的工作。在诊所,露西通过她的手持浏览器对语义网代理下达指令。代理很快从医生的代理那里得到了关于....

使用 Vue+axios+Echarts 绘制关系图遇到的坑

2022-02-19

最近做毕设,后端采用的是Spring boot,通过Neo4jRepository从neo4j中获取数据,前端框架是Vue,通过axios请求后端数据,并处理成符合Echarts规范的数据格式,之后Echarts进行渲染。在前端渲染数据的过程中遇到好多坑。 首先是如何对后端返回的数据进行处理。后端返回的数据格式是这样的: [ { "id": 1, "name": "CSS" }, { "id": 2, "name": "Javascript", "derives": [ { "id": 3, "name": "Vue.js" } ] }, { "id": 3, "name": "Vue.js" }, { "id": 171, "name": "前端技术", "includes": [ { "id": 1, "name": "CSS" }, { "id": 2, "name": "Javascript", "derives": [ { "id": 3, "name": "Vue.js" } ] }, { "id": 172, "name": "HTML", } ] }, { "id": ....