zoukankan      html  css  js  c++  java
  • ios开发多线程篇--异步加载网络图片&&GCD

    一.异步加载网络图片

    1、ATS

    (1)简介

    从iOS9.0开始,如果按照以前的方式写代码,在访问网络的时候 ,会报以下警告信息:

    App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure.

    Temporary exceptions can be configured via your app's Info.plist file.

    原因:iOS9.0引入了新特性(App Transport Security),简称ATS,应用传输安全。

    新特性要求App内访问的网络必须使用 https 协议。

    (2)解决方案

    方法一:

    1>  在Info.plist中添加 NSAppTransportSecurity 类型 Dictionary

    2>  在 NSAppTransportSecurity 下添加 NSAllowsArbitraryLoads 类型 Boolean,设置为 YES

    方法二:

    在 info.plist 中 添加

            <key>NSAppTransportSecurity</key>

             <dict>

             <key>NSAllowsArbitraryLoads</key>

             <true/>

    </dict>

    方法三:

    代码块

    2.写代码

    (1)第一步:定义属性

    (2)第二步:初始化控件

    (3)第三步:下载图片(异步下载图片)

    3、线程间通信

    (1)什么叫做线程间通讯?

        在一个进程中,线程往往不是孤立存在的,多个线程之间需要经常进行通信。

    小秘买完烟,必须得回来给班长汇报一下。

    (2)线程间通信的体现

    1个线程传递数据给另一个线程

     在一个线程中执行完特定任务后,转到另一个线程继续执行任务

    (3) 线程间通信常用方法

    - (void)performSelectorOnMainThread:(SEL)aSelector withObject:(nullable id)arg waitUntilDone:(BOOL)wait;

    - (void)performSelector:(SEL)aSelector onThread:(NSThread *)thr withObject:(nullable id)arg waitUntilDone:(BOOL)wait;

     

    GCD方法演示   记得还要在plist文件的源文件中加上那上句话(上面内容有)

  • 相关阅读:
    LCS 最长公共子序列
    零和数组
    Learn2Rank
    ac自动机
    208. Implement Trie (Prefix Tree)
    php截取中文字符串 GB2312 utf-8
    纵向文字滚动代码,带上下图片控制的。鼠标放到上下图片上时滚动
    js图片切换 带左右控制的
    实时显示输入的内容
    Lightbox JS v2.0图片切换效果
  • 原文地址:https://www.cnblogs.com/huangfang1314/p/5582494.html
Copyright © 2011-2022 走看看