25_Downloading An Image
一个App,从网上下载一张图片(给出图片地址),重新命名,然后保存到手机中,再从手机中取出显示在屏幕上。
难度不大,就是找图片很蛋疼,百度搜索出来的过一会儿会失效,Google搜索出来的有些需要翻墙,崩溃了。
还有一个是,Xcode由于可以自动补全,而某些方法名字很像,甚至三个单词以上组成的时候,只有中间某个单词不一样,于是就。。。
//
// ViewController.swift
// Downloading An Image
//
// Created by zcdll on 16/1/23.
// Copyright © 2016年 ZC. All rights reserved.
// import UIKit class ViewController: UIViewController { @IBOutlet weak var image: UIImageView! override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib. var documentsDirectory:String? var paths:[AnyObject] = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask,true) if paths.count > 0 { documentsDirectory = paths[0] as? String let savePath = documentsDirectory! + "/tam.jpg" self.image.image = UIImage(named: savePath) } /*
let url = NSURL(string: "http://www.tiananmen.org.cn/capinfo_product/NC_Admin/NCAdm-Media/uploadFile/20029293142.jpg") let task = NSURLSession.sharedSession().dataTaskWithURL(url!) { (data, response, error) -> Void in if error != nil { print(error) } else { var documentsDirectory:String? var paths:[AnyObject] = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask,true) if paths.count > 0 { documentsDirectory = paths[0] as? String let savePath = documentsDirectory! + "/tam.jpg" NSFileManager.defaultManager().createFileAtPath(savePath, contents: data, attributes: nil) dispatch_async(dispatch_get_main_queue(), { () -> Void in self.image.image = UIImage(named: savePath) }) } /*
dispatch_async(dispatch_get_main_queue(), { () -> Void in if let tiananmen = UIImage(data: data!) { self.image.image = tiananmen } })
*/
}
} task.resume()
*/ } override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
} }
25_Downloading An Image的更多相关文章
随机推荐
- GridView中日期显示格式
DataFormatString="{0:d}"
- java实现cmd的copy功能
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import ja ...
- CoreText 简单 使用
- (void)drawRect:(CGRect)rect { NSString *longText = @"CoreText"; /* ... */ NSRange rang = ...
- 搭建Ubuntu环境中的Error [dpkg 被中断,您必须手工运行 sudo dpkg --configure -a 解决此问题][安装Flashplayer出错 ]
//解决方法如下: sudo rm /var/cache/apt/archives/lock sudo rm /var/lib/dpkg/lock sudo dpkg -r flashplugin-i ...
- [转]printf 函数实现的深入剖析
研究printf的实现,首先来看看printf函数的函数体 int printf(const char *fmt, ...) { int i; char buf[256]; va_l ...
- Linux 网络编程基础(1)--网络相关的数据结构及转化函数
在Linux下进行网络编程,使用的语言一般为C.就个人感受而言,在Linux下进行网络程序的编写,重要的不是代码能力要多强,而是对Linux的网络编程思想的理解和对Linux网络数据结构的掌握.如果想 ...
- nyoj 528 找球号(三)(哈希)
点解:题目链接 两种办法,1是使用容器set做 2必须知道这个结论, 突然感觉数论很强大啊,,,, /*//set容器处理 出一次加进去,再出现删掉,这个最后留下的就是那个只出现基数次的 #incl ...
- CSS 基础总结
CSS基础 Doctype 声明位于文档中的最前面,处于 标签之前.告知浏览器的解析器,用什么文档类型 规范来解析这个文档. 在标准模式中,浏览器根据规范呈现页面: 在混杂模式中,页面以一种比较宽松的 ...
- NET Core开发-使用Nancy框架
NET Core开发-使用Nancy框架 Nancy简介 Nancy是一个轻量级的独立的框架,下面是官网的一些介绍: Nancy 是一个轻量级用于构建基于 HTTP 的 Web 服务,基于 .NET ...
- DOCTYPE声明的几种类型
DOCTYPE声明的几种类型 DOCTYPE 声明决定着浏览器怎么去解析和渲染当前页面,所以对于页面来说是很重要的. HTML5时代,统一用 <!DOCTYPE html> 这样简单的方式 ...