暑期项目开发实训 Day6
来源:互联网 发布:linux如何下载ed2k 编辑:程序博客网 时间:2024/05/29 09:58
虽然是周六,但是手头的活没干完,不敢休息
今天上午学院安排了IBM公司的讲座,关于Watson Analytics的。下午与晚上是自由时间,宅寝室里敲代码。
先来说说上午的 WA 讲座吧,我个人觉得是非常好用的东西。
Standard process for data mining
跨行业数据的标准挖掘过程
商业理解:商业角度
数据理解:数据收集描绘
数据准备:为了建模准备
建模分析:多种建模方法
模型评估:选择最佳模型
模型部署:展现结果
然后是WA,WA是继IBM公司的SPSS和Modeler后的又一款重量级产品:
1. 一款云上数据分析解决方案。WA可以使用自动视图引导数据发现和预测分析,并生成半自动的报表。
2. WA实现了基于自然语言的认知服务,可以为商务人士即时提供预测和可视化分析工具,WA推出基于云服务的免费增值应用版本,可在电脑及移动设备上使用。
3. WA可提供自助式分析功能,包括数据访问、数据清洗、数据仓库、帮助企业用户获取和准备数据,并基于此进行分析、实现结果可视化、为使用者采取有效行动和开展进一步交互提供基础和便利。
然后IBM公司的leader给我们演示了关于2007-2011好莱坞电影信息的数据挖掘~
总的来说,WA的理念是:汇总你的数据,运行各种可能的方法,为你提供结果,实现基本的可视化、特定领域的可视化。
可以说是半自动化生成报表的利器,而且挺精美的。
普及的关键,还是价格问题。
免费版0刀,只能处理列很窄的数据集。个人版要30刀每月,专业版则是80刀。
等我有钱了我再考虑专业版吧!
----------------------------------下面是今天完成的任务------------------------------------
很遗憾!今天依然没有完成全部工作,目前进行到 07的尾巴出了点Bug,还剩下08,09,10,11。我争取周日早点起床干活!
什么是plist?
plist是 property list,是XML文件格式,存储了结构化数据。
它是IOS中非常常见的,适合存储多种类型的数据,而且非常方便!非常方便!!
What’s not to like!
06 部分,我们需要保持 CL 的item,因此需要使用 NSCoder 系统。它可以让对象存储数据为结构化形式的文件。
这里又有一个 encoding 和 decoding 的概念区分!converting obj to files and back again!
简单来说就是:
第一阶段:iPhone 存储 中的 obj 保存到 iPhone 的 flash drive 中,以plist文件的形式。
第二阶段:App is terminated (终结得) ,啥也不干。
第三阶段:App is launched,plist 文件中的数据加载回obj。
保存的方法:(注意encode)
// 保存item 得到items array的内容,分两步骤转换为二进制数据块,写入文件 func saveChecklistItems() { let data = NSMutableData() let archiver = NSKeyedArchiver(forWritingWith: data) archiver.encode(items, forKey: "ChecklistItems") archiver.finishEncoding() data.write(to: dataFilePath(), atomically: true) }
加载的方法:(注意decode)
// 加载 items func loadChecklistItems() { //1. get datafilepath let path = dataFilePath() //2 load the contents of Checklists.plist into a new Data obj if let data = try? Data(contentsOf: path) { //3 find plist, load the entire array and its contents from the file let unarchiver = NSKeyedUnarchiver(forReadingWith: data) items = unarchiver.decodeObject(forKey: "ChecklistItems") as! [ChecklistItem] unarchiver.finishDecoding() } }
06部分还是很简单的,最后如作者所言:
Awesome! You've written an app that not only lets you add and edit data, but that also persists the data between sessions.
Don't rush through these tutorials - there are no prizes for finishing first.
Rather than going fast, take your time to truly understand what you've been doing!
这一刻我感到书的作者简直是哲学家,治愈了我们这群慢工出细活的拖延症。
07部分需要创建多重Checklists了。
毕竟用户可能有多个表要打卡/记录嘛。比如亲友的生日,比如普通日程,比如最近好看的电影。。。需要分类记录。
required init?(coder aDecoder: NSCoder) { //1 lists = [Checklist]() //2 super.init(coder: aDecoder) //3 var list = Checklist(name: "Birthdays") lists.append(list) //4 list = Checklist(name: "Groceries") lists.append(list) list = Checklist(name: "Cool Apps") lists.append(list) list = Checklist(name: "To Do") lists.append(list) }
存在 4种 创建 table view cells 的方法:
1. Using prototype cells.
2. Using static cells.
3. Using a nib file.
4. Using dequeueReusableCell
注意:总是询问 table view 是否存在cell可以被循环利用,而不要频繁去创建新的Cell ( 以免内存溢出 )
对象创建远远比对象复用慢得多!!
为了更好的性能,请复用Cell !
考虑一下,我创建多个Checklists,和创建多个ChecklistItem,类本质是否相同呢?几乎是相同的!
我需要做的额外工作只是,
让第一个导航条指向拥有众多Checklists的根表视图,
然后再点击其中单个Checklist进入对应的表视图,
然后再操作单个Item。
而且我需要对根表视图拥有与单个表视图同样的操作:编辑、增加、删除Checklist(Item)
(:此处我很想插一个图,但是CSDN插图实在太麻烦了!解释又很费劲!)
很明显这里又要用到delegate代理了。
还是来看看需要实现的协议吧:
protocol ListDetailViewControllerDelegate: class { func listDetailViewControllerDidCancel(_ controller: ListDetailViewController) func listDetailViewController(_ controller: ListDetailViewController, didFinishAdding checklist: Checklist) func listDetailViewController(_ controller: ListDetailViewController, didFinishEditing checklist: Checklist)}
今天遗留的问题是:
我在根表视图Checklists点击 + 号, 可以进入Add页面,但是点击Done不起作用。点击Cancel也是如此。
明早起来好好想想。。。。
- 暑期项目开发实训 Day6
- 暑期项目开发实训 Day1
- 暑期项目开发实训 Day2
- 暑期项目开发实训 Day3
- 暑期项目开发实训 Day4
- 暑期项目开发实训 Day4
- 暑期项目开发实训 Day5
- 暑期项目开发实训 Day7
- 暑期项目开发实训 Day8
- 暑期项目开发实训 Day9
- 暑期项目开发实训 Day9
- 暑期项目开发实训 Day10
- 暑期项目开发实训 Day11
- 暑期项目开发实训 Day12
- 暑期项目开发实训 Day13
- 暑期项目开发实训 Day14
- 暑期项目开发实训 Day15
- 暑期项目开发实训 Day16
- 基于boost的共享内存系列-map
- python连接mysql数据库
- 百度的搜索排名原则
- 剑指Offer--重建二叉树
- JS闭包
- 暑期项目开发实训 Day6
- 设计模式之二: 策略模式
- python学习日记(三)
- 关于ssh(spring\struts\hibernate)个人了解
- ZooKeeper使用(3)-- ZooKeeper的集群部署(Linux)
- leetcode 382. Linked List Random Node
- 如何使你的网站受百度欢迎
- 函数模块-ATM 自动取款机
- Class类简介和spring内部对Class类的使用