如何使用swift语言开发一个款app

前提条件

  • 应用大致有哪些个页面
  • 数据来源于何处

随后的步骤,设计页面

1、使用xcode建立一个工程,如图

如何使用swift语言开发一个款app_第1张图片
xocde建立sgingle view application.png

2、语言记得选择swift

如何使用swift语言开发一个款app_第2张图片
language选择.png

3、相关设置

如何使用swift语言开发一个款app_第3张图片
项目相关设置.png

此处建议新手们把横屏left right反钩掉

4、storyboard主界面配置

如何使用swift语言开发一个款app_第4张图片
storyboard主见面配置.png

建议新手也把use size classes反钩掉

5、开始设计页面(推荐使用 storyboard + autolayout的方式)

如何使用swift语言开发一个款app_第5张图片
Paste_Image.png

在设计页面之前,我们要先熟悉下storyboard上的一些比较重要的块代表着什么,其实我都已经给标记了出来。

  • storyboard给我们默认配置了一个viewcontroller,然后这个“视图”或者说页面实际上是和viewcontroller.swift文件中的那个类关联着的。
  • 之后,我们可以通过底部右下的小红框点击之后出现的组件栏托类似于uilable,uitextview之类的一些组件到storyboard上的视图中去。
  • 在之后,我们对页面上的组件和代码做一下关联;如图
如何使用swift语言开发一个款app_第6张图片
组件页面做关联.png
  • 一个app很可能有多个页面,有几个页面,你添加几个viewcontroller组件到storyboard就可以了,然后在里面放组件,问题是页面之间怎么关联呢,使用segue,如图,右键点加号,拖动到右面页面,选择push就会自动为你配置一个segue
如何使用swift语言开发一个款app_第7张图片
segue.png

建立数据模型

  • 比如第一个页面是一个唐诗详情页,那么,抽象出来的话,应该有一个叫Tangshi的model,所以,自然而然的你就要新建一个tangshi .swift的文件,里面去定义这么一个model
如何使用swift语言开发一个款app_第8张图片
tangshi model.png

因为我们的model和ui是无关的,所以,我们import Foundation就OK了

页面因为有了数据模型的加入,才有了真是的内容

如何使用swift语言开发一个款app_第9张图片
将model绑定到页面中.png

虽然,我们已经给页面派发了数据模型,但是,他现在还没有任何数据,只是一个空模型,因此,我们应该给他填充内容,所以,我们需要一个DataManger,专门的为我们的页面中的数据model提供数据的类似于helper之类的东东了。

如何使用swift语言开发一个款app_第10张图片
dataManger.png

datamanger为我们的model填充了数据,那么页面里面的model就应该有数据了,所以,接下面的事情就是吧数据绑定到组件上了。

如何使用swift语言开发一个款app_第11张图片
将model数据绑定到页面组件.png

总结及问题

  • 1本文是写个一个准备进入ios开发的新手的一篇教学课程,讲述了开发一个iosapp所必须的一些步骤,老鸟还是算了吧。
  • 2、那么问题来了,datamanger里面的方法是同步,这里我给你留了一到作业题,如何把他变成异步的,提示(delegate模式,这个在app开发过程中非常重要)
  • 3、那么问题还没有玩,第二个,加入不用storyboard,你如何做出这样同样的一个app来呢?换句话说,所有的ui都需要你自己手写,你打算怎么办?
  • 4、autolayout真的有那么靠谱吗?那些情况下不适合使用autolayout,那些情况下非常适合使用autolayout呢?
  • 5、什么是size classes ?使用他有什么方便之处,请自己google,如果你了解,可以在评论中写上答案。
  • 6、不用segue,页面之间怎么用代码跳转呢?
  • 7、页面之间需要传递参数了,如何传递参数到下一个页面?回传参数会上一个页面呢?(提示NSNOTI....)
  • 8、info.plist里面都有些什么东西,能添加一些什么东西,每个配置你了解他的用途吗?
  • 9、头疼的问题,程序的入口在哪里呢?你能找到吗?
  • 10、launchScreen.storyboard是干什么的,没有他会出现什么问题?
  • 11、assets.xcassets是干什么的?@2x,@3x分别用于什么类型的屏?
  • 12、页面和类是如何绑定的?为什么要绑定呢?

针对以上问题,大家可以在评论中写上自己的答案,我一般会回复。

你可能感兴趣的:(如何使用swift语言开发一个款app)