一个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

25_Downloading An Image的更多相关文章

随机推荐

  1. md笔记——微信JS接口

    微信js接口 隐藏微信中网页右上角按钮 document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() { Weix ...

  2. Java并发编程:Thread类的使用介绍

    在学习Thread类之前,先介绍与线程相关知识:线程的几种状态.上下文切换,然后接着介绍Thread类中的方法的具体使用. 以下是本文的目录大纲: 一.线程的状态 二.上下文切换 三.Thread类中 ...

  3. 更新cydia“sub-process/usr/libexec/cydia/cydo returned anerror code(2)”是怎么回事?

    最近更新cydia的时候出现了sub-process/usr/libexec/cydia/cydo returned anerror code(2)的红字是怎么回事? 解决方法:删掉有关升级的东西,把 ...

  4. Django Web开发【2】Django入门

    配置开发环境 1.安装Python,我使用的是centos 6.0,python版本为2.6.6 2.安装Django,Django版本为1.3.5 在Django官网下载对应版本之后,解压压缩包,进 ...

  5. PHP中include和require的区别

    include和require的区别,其实两者没有太大的区别,如果要包含的文件不存在,include提示notice,然后继续执行下面的语句,require提示致命错误并且退出. 根据测试,win32 ...

  6. mysql 字段注释

    create table student3(id int(30) primary key comment 'ID',name varchar(255) comment '姓名',address var ...

  7. Python2.7.3 学习——准备开发环境

    安装环境搭建参考:http://blog.163.com/sunshine_linting/blog/static/4489332320129187464222/ 第一种方式,通过命令行方式安装Pyt ...

  8. XmlDocument加载有Xmlns的xml文档,使用Xpath

    using System; using System.IO; using System.Xml; public class Sample { public static void Main() { X ...

  9. 使用tcpdump抓Android网络包

    1 抓包原理 tcpdump(需Root用户运行)拦截和显示发送或收到过网络连接到该机器的TCP/IP和其他数据包.简单说就监控手机进出网络数据. 2 方法优劣 2.1优点 1.手机数据包无遗漏 2. ...

  10. SQL基础查询实战

    总结: 一.单表查询的情况: 1.where.....group by .. Having count(..) 2.Group by haing min(..)条件and max(..)条件(查询最低 ...