哪些用 Parse 和 Swift 搭建筑一个像 Instagram 那样的使用?(2)

诺诺是本人自小张那个之,我以我俩的干定义为好爱人,所以他自幼便亮发生大姨这样一个吓情人。

运行应用程序

啊耶!按下 command-R 运行应用程序或点击
Play按钮的左上方。一切顺利的言辞,你的应用程序应该会起基本的蓝色视图显示在10单猫的名。

公可下拉表视图并刷新,然后它起 Parse 下充斥新的数量并还加载表视图。
之前奠定的基本功,能于咱的应用程序更加长,这是我们连下要召开的。来探我们的果实!你都成将
Parse 加入了一个构建中的使原型。太巧了!

图片 1

Imgur

日益地,这些车面前加上了定语,“大公交车”、“长公交车”、“破公交车”,“红色的出租车”、“黄色的出租车”。。。

哪用 Parse 和 Swift 搭建筑一个像 Instagram
那样的运用?(1)

怀有的这一切都是自发的修,而这个读书照以继承,前提是外径直维持对某事的兴趣、好奇心,而当时粒好奇心不深受打击与平抑。

否从定义单元格设置自动布局约束

留意:你实际可以超越了设置自动布局限制,但顺序在不同 iPhone
屏幕被,显示效果说不定坏。如果您切莫熟悉自动布局还是约束,那花些力气来读书。之后你会觉得大有裨益。

为吃咱的采取在 iPhone4、4S、5、5S、6 和 6Plus 上全面运行,我们务必也
Interface Builder 的 UI 元素添加一些平整。Interface Builder
中来一个受自动布局之效益,使用约束来治本视图位置、对准与调动。自动布局是一个非常给力的家伙,因为其既是直观,又不行合乎逻辑。总的来说,这个家伙能非常有效地保管复杂的分寸调整,为卿省大量辑自定义布局代码的工夫。

从技术上讲,约束只是我们直接遵行的视图规则。

  • 图像视图:中心水平,高度稳定为290接触,宽度任意,但相距单元格的顶部、左侧和右边边缘均15沾。
  • 左标签:宽度任意,固定高度也21触及,距离单元格左边缘25碰,右边缘11沾。
  • 下手标签:宽度任意,固定高度为21触及,距离单元格左边缘25碰,右边缘11沾。
  • 信用标签:宽度任意,固定高度为21接触,距离右侧15触及,顶部285触及(固定该标签在图像视图的右下方)

生四种植艺术可以建立约束,我们这边就演示一下最为简易的:通过顶部的编制目录。

以部署图像视图,按下列目录选项进行抉择:

  1. Editor → Align → Horizontal Center In Container
  2. Editor → Pin → Height
  3. Editor → Pin → Leading Space To Superview
  4. Editor → Pin → Trailing Space To Superview
  5. Editor → Pin → Top Space To SuperView

然后,设置左标签:

  1. Editor → Pin → Height
  2. Editor → Pin → Leading Space To Superview
  3. Editor → Pin → Bottom Space To Superview

下一场,设置右标签:

  1. Editor → Pin → Height
  2. Editor → Pin → Trailing Space To Superview
  3. Editor → Pin → Bottom Space To Superview

末了设置信用标签:

  1. Editor → Pin → Height
  2. Editor → Pin → Trailing Space To Superview
  3. Editor → Pin → Bottom Space To Superview

见没?我们只是用视图置于边界,并将那稳定到相应的几乎独岗位。现在你的屏幕应该接近下面的屏幕截图。

图片 2

Imgur

(未完待续…)

回顾 《如何用 Parse 和 Swift 搭建筑一个像 Instagram
那样的以》系列(1)

请持续关注:《如何用 Parse 和 Swift 搭建筑一个诸如 Instagram
那样的采取》系列(3).

原稿地址:http://www.appcoda.com/instagram-app-parse-swift/

本文系
OneAPM
工程师编译整理。OneAPM
是利用性能管理天地的新生领军企业,能支援企业用户和开发者轻松实现:缓慢的程序代码和
SQL 语句之实时抓取。想看更多技术文章,请访问 OneAPM
官方博客。

出同等龙姥姥问诺诺:

每当屏幕上停表视图

那现在,在运行应用前什么事情都非会见出。我们连不曾连接使用以及
theCatsTableViewController!等等再开。
回来 AppDelegate 类,并调整使之 didFinishLaunchingWithOptions
方法来反映以下内容:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool  
{
    Parse.setApplicationId("...", clientKey: "...")

    var tableVC:CatsTableViewController = CatsTableViewController(className: "Cat")
    tableVC.title = "Paws"

    UINavigationBar.appearance().tintColor = UIColor(red: 0.05, green: 0.47, blue: 0.91, alpha: 1.0)
    UINavigationBar.appearance().barTintColor = UIColor(red: 0.05, green: 0.47, blue: 0.91, alpha: 1.0)
    UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName: UIColor.whiteColor()]
    UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.LightContent

    var navigationVC:UINavigationController = UINavigationController(rootViewController: tableVC)

    let frame = UIScreen.mainScreen().bounds
    window = UIWindow(frame: frame)

    window!.rootViewController = navigationVC
    window!.makeKeyAndVisible()

    return true
}

第一,确保您本时有发生不利的 Parse 应用 ID 和客户端密钥。

辅助,我们创建 CatsTableViewController 的初实例,并拿那个分配给变量
tableVC。我们用初始化程序,只需要一个参数类名「Cat」,之前写的初始化就会见为里面调用。也深受
tableVC 一个名字 ——「Paws」,它可用于其它 UIViewController
类(表视图继承该类)的性能,之后通过导航控制器被调用。

然后,我们改变 UINavigationBar
的外观。该类被导航控制器采用,即多之应用程序顶部的粗条栏。设置外观可以确保类的通实例附着到一点样式规则。比如
tintColor 和 barTintColor。它们均安装为小带蓝色的金科玉律,并直接分配也
UIColor 的实例。导航栏文本颜色为设置为白,然后设置 iPhone
状态栏的主题(也是白)。

注意:它不是不可或缺的,但要是要状态栏颜色变化生效,你得丰富一行到
Info.plist
文件。这时,你晤面发现目录中支持什么文件。打开支持的文件,插入一个新行(右键菜单),要么粘贴基于控制器的状态栏外观属性,要么拿
UIViewControllerBasedStatusBarAppearance 放置其中。确保该行值是 NO 还是
False。

搭下去,我们毕竟使创 UINavigationController 实例本身,并以那个分配给变量
navigationVC。我们之所以 RootViewController
来初始化,第一只视图控制器显示在:tableVC。这是我们的视图层次:

UIWindow → UINavigationController → CatsTableViewController

之所以,我们来得导航控制器内部的表视图控制器,并拿其放入应用程序的
UIWindow 顶层根视图控制器。

最终,就是片例行步骤了:创建一个新的 UIWindow
实例,为其指定完整的框架,指定根视图控制器,使的成为应用程序的重要性窗口。

诺诺回家说:“妈妈,不见面算呀!”

每当 Interface Builder 中开创一个自定义的 UITableViewCell

好为此由定义表视图单元格,让以越来越长。我们将未见面重复使用纯文本的就元格,取而代之的是
image-name-votes 单元格。

首先,我们创建一个初的好像,命名吧 CatsTableViewCell。在 Xcode
文件导航中右击 Paws,选择 「新建文件」 。从「iOS →
源」添加而触摸类的模版。命名吧 CatsTableViewCell,继承 UITableViewCell
类。然后,勾选并创 XIB 文件。语言是还是 Swift。在 Paws
目录中创造文件。

下一场,打开 CatsTableViewCell.swift 文件,更改类定义如下:

class CatsTableViewCell: PFTableViewCell

看我们举行了什么?此类扩展(继承) PFTableViewCell 类,而非是
UITableViewCell 类。还记得表视图单元格的 ForRowAtIndexPath
方法吧?它回到 PFTableViewCell
类的光元格实例,我们正是我们做出修改的故。

上加以下新 CatsTableViewCell 的摆,在此类的首行,第一个大括如泣如诉随后。

@IBOutlet weak var catImageView:UIImageView?
@IBOutlet weak var catNameLabel:UILabel?
@IBOutlet weak var catVotesLabel:UILabel?
@IBOutlet weak var catCreditLabel:UILabel?

咱俩要马上四独说来显示四个 Parse
数据:猫的图形、猫的名、它抱的票数、图片原作者。

连通下去,从工程导航中开辟 CatsTableViewCell.xib(它见面当 Interface Builder
中开拓)。Xcode
里生一样栽工具,对于设置以的用户界面很有协助。这是一个基础工具,它不是创建一个功能性的运界面,只是概念其。与汽车收音机相比,Interface
Builder 会创建无线控制台,并因而Swift来编排线路。

第一我们如果开的是:

  1. 单击文档大纲(左)的重点单元元素。
  2. 选择 Inspector 选项卡(右)的大小。
  3. 双重改行高吗350,宽度为320,并更将高度要为350。

主视图要调大小。

图片 3

Imgur

今日,增加四独视图:

  1. 在对象库底右边下,找到 UIImageView 类。
  2. 用仓库中图像拖动到单元视图查看。
  3. 调整图像视图,水平居中,并打顶部、左侧和右手与她相隔15接触。选择图像视图时,你吗可以由此
    Size Inspector 来促成。其 X 和 Y 位置都是15,而宽和可观都为290。

再度上述手续建立3个新视图,都是 UILabel
的实例。一个左对联合,另一个下手对伙同。参照者的截图作为参考。左标签的位置(317,25,209,21),四只数值分别吗X值、Y值、宽度和可观。右标签的职务(225,69,317,21)。信用标签为一定于(199,285,106,21)。

图片 4

Imgur

产一致步,配置有4单视图。打开右侧的属性检查器,为顺序视图进行如下设置:

  1. 图像视图:填充模式,检查剪辑子视图。
  2. 左标签:字体为粗体17.0哀号,设置为黑色
  3. 右边标签:字体为14.0如泣如诉,颜色为浅灰色。
  4. 信用标签:字体为14.0哀号,设置为白色。

如今,让咱们总是多单视图到提。首先,在左边的文档大纲,再次选择猫的报表视图单元格。然后,切换至右边的接连
Inspector 选项卡。

下一场,在检查器中找到 Outlets 下的季单道。看到空心圆了也?拖动 Cat
ImageView
的右圈到单元格的图像视图中。一漫长蓝线会油然而生,在检查器中,出口都发出选择框。其他三只标签呢更这无异步骤。

图片 5

Imgur

诸如你可以问问他:你吃了同块饼干,接着以吃了同样片,今天累计吃了几块饼干呢?

【编者按】本篇文章作者是 Reinder de
Vries,既是相同名为企业家,也是十全十美之程序员,发表多首应用程序的博客。本篇文章被,作者主要介绍了什么根据
Parse 特点,打造一舒缓类似 Instagram
的施用,完整而鲜明的步调,为开发者提供相同不行绝佳的上学心得。本文系
OneAPM
工程师编译整理,这是以系列之第 2 首文章。

认知(cognition)是借助和思想、理解、记忆与交流有关的有心理活动。

CatsTableViewController小结

在 CatsTableViewController 类里,我们得做以下三件工作:

  1. 经几只主导设置来初始化类的实例。
  2. 由此覆盖 queryForTable 集成 Parse
    后端:这是咱而因此之好像,也是咱们的休养生息存策略。
  3. 透过创办或者又利用一个单元格并填写充,将数据以行置于屏幕及。

心理学是高冷的辩论也?Nonono!

以数据显现在屏幕及

深受咱们看看下面是类似的尾声方法。它会拿多少在表视图中:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath, object: PFObject?) -> PFTableViewCell? {

    let cellIdentifier:String = "Cell"

    var cell:PFTableViewCell? = tableView.dequeueReusableCellWithIdentifier(cellIdentifier) as? PFTableViewCell

    if(cell == nil) {
        cell = PFTableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: cellIdentifier)
    }

    if let pfObject = object {
        cell?.textLabel?.text = pfObject["name"] as? String
    }

    return cell;
}

该方法的特点是这样:用带参数的 tableView、indexPath 和目标,重写方法
tableView 的 cellForRowAtIndexPath,返回一个出示展开的 PFTableViewCell
实例。换句话说:这里发生一个表视图、一个对象和她的目(行号),现在恳请回一个可用的单元格视图。

然后,我们率先声明单元格的文书标识符。每个单元类型有不同之标识符。我们这边仅行使同一栽单元类型,为「单元格」指定字符串类型值。该语句声明的凡一个常数,而非是变量。

接下来,我们而声明 PFTableViewCell 类型的可选变量单元吗?我们品尝以
tableView
参数出列。出列是一个机制,重新利用原表视图单元加速表视图。实例方法
dequeueReusableCellWithIdentifier
需要一个参数,即我们这种类型的不过元集的标识符。该法的回到值类型是可选的,我们如果以它改变成为
PFTableViewCell 类,转换是由平种档次变更成为外一样栽兼容的路。这样,我们只是于
UITableViewCell 类转成为 PFTableViewCell
类。为什么是可选的?如果无单元出列,方法以返回空值。

当单元格也空,我们好创造 PFTableViewCell
类的新单元。用标识符表征这种单元类型,并施给它们
UITableViewCellStyle.Default 的风格。

在对接下的 if
语句子被,我们品尝做有老大怪的物。通常情况下,当您以一个摘,你要先拿其打开。在打开事先,你必检查可选是否也空值。你不可知由开值为零星的可选项。在本例中,我们下可选的绑定(if-let),来证实可选是否也空。如果其包含一个价值,我们可将这价当一个现常数(pfObject)。

然后,我们分配对象「名称」填写到 textLabel 的 Text
属性中。显而易见,textLabel 是表视图中按行显示的文本标签。PFObject
类型的变量对象是继承 NSObject 的,所以我们可使用
「…」符号,用性名称「name」检索对象。然后用其变成为可选字符串,因为对象的称呼属性可有可无,也或是空值。

末尾,我们回来该单元。

车太多了,我们建个停车场吧,小之可怜,建个要命之;空间少,建个双层的。对了停车场还要收费也,每次收多少钱吧?刚开诺诺总是非常豪爽地说:“免费滴”,后来变为了1片钱、2块钱、5块钱。在承诺的定义里,1片钱就是很多钱了。

外一度不满足马路上观望的车以及现成的玩意儿车,他开始创办他内心中之车。诺诺将他观看的切削跟想象的车还画了下去。

起火灾,要拨打119于救火车;


失那个远的地方因为火车;

眼前几乎天,妹妹及我说尽快5寒暑之略微外甥诺诺于幼儿园开始掰着手指学算数了。

撞坏人,要拨打110为警察车。。。

最好开始着手做车时,他还见面问大人怎么开,渐渐地外意识我们只要事先看图还举行,于是他初步琢磨图纸。慢慢地,图张吗无扣了,他起来协调创造。

停车场及洗车场都有了,可是人为什么要来吗?因为这里产生个老超市,人们经常来买东西,然后停车,顺便洗车。

20东之本身拿心理学当成美味的鸡汤,30春秋的本人将心理学过化了生,奔四的途中要赶上再多对的伙伴!

心理学就在生活中,与我们连带!

自家妹子,他妈妈追剧《楚乔传》,诺诺就挑出一个宇文玥的冰雪剑;

小儿发生他们好的理念、想法及情感,没有呀比较算计把我们的见解、想法与情感强加给少儿还愚蠢的做法了。

卢梭都说过:

走在街上,他会见借助着公交车说“公交车”,指在出租车说“出租车”。

诺诺很小时,我们就算意识如许多之男孩一样,他爱汽车,喜欢汽车之车轱辘,喜欢方向盘,喜欢公交车、出租车、轿车、卡车、铲车。。。

皮亚杰认为:

啊初步着手打不同之车。

俺们先行来看看发展心理学家皮亚杰的认知发展四独号:


慢慢地,诺诺的社会风气里以大多矣不少跟车有关的物,他意识马路上之车要遵守交通规则:红灯停,绿灯行。虽然在当红灯时,他连大声地喝:“走,走!”

立即暗示我们小孩不要被动地伺机大人来受他们填写知识,我们若以儿童都了解事物之根基及拓展再次好地建构,给他们提供具体事例并引导他们好想。

咱们惊叹地意识,

就此自己今天纪念拉:学龄前孩子到底是怎么样读书的?

发出雷同天,我们发现,他的切削以起变化了。他开始发问:“那片单公交车哪个好”,“公交车和列车谁跑的赶紧”,“爸爸开啊车?姥爷开啊车?”。。。

连片下,诺诺发现车的胃部里生发动机,饿了一旦喝汽油,前面有雨刷器,雨刷器有一个、两只、三只非对等。。。

与爸爸齐看阅兵,立马动手做了一个坦克;

下一场起同龙我们发现,诺诺将具有的东西都变成了车。

因喜好公交车,开始练习写数字,并学会了扣站牌,认识并练习写简单的字;因为听地铁报站,开始练英文。

自然他吧产生了过多车的玩意儿,每天诺都同他们于并,观察她增长得啥样,啥样色,有甚声音,怎么动。

“我哪个都非像,就如本人自己!”

自身说幼儿园教数学就是被他叫吧,咱俩的任务是:引导诺诺了解数学在生活中是什么用之。

怎么来解皮亚杰的说理也?我要么来说说我的粗外甥吧!

然后还有带汽车功能的各种船。

诺诺对说:

这就是说我是怎对妹妹关于诺诺学数学的题目之吧?

下一场他以发现了停车场,地下停车场、双层停车场,当然还有洗车场。。。

扣押罢变形金刚,又开了变形金刚车;

认知认知,先认识再了解!

外最近专程喜爱大高楼,于是发出了楼房车;

每周诺都见面来探寻好姨玩,我们的玩耍中充斥着各种车的故事:

心理学是产生身患吗?不全是!

自家说:“别着急,他未会见算正常。如果算对了吗是死记硬背,诺诺现在之体味程度尚没有到开展思想运算的品。”

他为起意识,公交车上有两样的数字,代表不同的线路,终点各不相同,大家以的月票卡也不等同,公交车跟地铁的报站不同等,新车以及原有车的开门速度为无均等。。。

观看某个阿姨骑在平衡车,于是他呢召开了一个;

生矣停车场,我们还打一个洗车场吧!要那种车开进去直接会洗刷的,开出去的下还有擦洗功能的。

“你像谁?”

错过不同的地方因为不同的公交车;

工地及工作要起各种工程车;

诺诺以对车之痴中学会了过多事物,学会了文化,也学会了哪化解问题。

智商发展之动力是咱直接在坚持地大力解释自己之人生阅历。

孩子是知难而进的思考者,不断大力建构关于世界还扑朔迷离的领悟。

娃儿打同世界之交互作用中构建友好的学识。

看来车祸,要拨打120叫救护车;

“认知”这个词对咱吧并无生,有人说“认知”就是认识并知道,那心理学是哪些定义“认知”的也?