- 博客(15)
- 资源 (7)
- 收藏
- 关注
原创 iOS开发—解析天气预报
新建一个SingleViewApplication应用,命名为04-JSON解析,在ViewController. m文件中,定义一个加载数据的方法,用于解析天气预报的数据,代码如下:#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void
2017-11-16 18:03:54 1213 1
原创 iOS开发—配置Apache服务器
为了能够有一个免费测试的服务器,需要配置一个web服务器。Apache是使用最广的web服务器,它是Mac自带的服务器,只要修改几个配置就可以使用,相对而言比较简单快捷,针对一些特殊的服务器功能,Apache都能够有很好的支持。要想配置Apache,准备工作是要设置用户密码,避免计算机“裸奔”到互联网。打开Finder中的“系统偏好设置”,单击“用户与群组”,切换到当前的用户后,单击“更改密码
2017-11-15 20:47:53 714
原创 iOS开发—线程的模拟暂停和继续操作
表示图开启线程下载远程的网络界面,滚动页面时势必会有影响,降低用户的体验。针对这种情况,当用户滚动屏幕的时候,暂停队列;用户停止滚动的时候,继续恢复队列。接下来通过一个案例,演示如何暂停和继续操作,具体内容如下:(1)新建一个SingleViewApplication工程,命名为“13-SuspendAndContinue”;(2)进入Main.StoryBoard,从对象库中拖拽3个Bu
2017-11-11 20:16:00 3244
原创 iOS开发—对NSOperation操作设置依赖关系
一个队列中执行任务的先后顺序的不一样的,如果队列的操作是并发执行的,则会创建多个线程,每个操作的优先级更是不固定的。通过任务间添加依赖,可以为任务设置执行的先后顺序。接下来通过一个案例来展示设置依赖的效果。新建一个SingleViewApplication工程,命名为“12-NSOperationAddDependency”。进入ViewController.m文件,通过一个模拟演示,展示如何
2017-11-11 19:51:49 3028
原创 iOS开发—自定义NSOperation子类下载图片
如果NSOperation的两个子类,NSInvocationOperation类和NSBlockOperation类无法满足需求,可以自定义一个继承自NSOperation的类。接下来通过一个下载图片的案例,展示如何使用自定义的NSOperation子类,这里暂时先介绍非并发的NSOperation,具体内容如下:(1)新建一个SingleViewApplication工程,命名为“11-C
2017-11-11 16:43:11 470
原创 iOS开发—使用NSOperation子类操作
因为NSOperation本身是抽象基类,表示一个独立的计算单元,因此如果要创建对象的话,必须使用它的子类。Foundation框架提供了两个具体子类直接供开发者使用,它们就是NSInvocationOperation和NSBlockOperation类。除此之外,还可以自定义子类,只要继承于NSOperation类,实现内部相应的方法即可。下面介绍这三种情况:1、NSInvocationOp
2017-11-11 11:44:38 603
原创 iOS开发—使用GCD实现多线程开发—调度队列组
假设有一个音乐应用,如果要执行多个下载歌曲的任务,这些耗时的任务会被放到多个线程上异步执行,指导全部的歌曲下载完成,弹出一个提示框来通知用户歌曲已下载完成。针对这个应用场景,可以考虑使用队列组。一个队列组可以将多个block组成一组,用于监听这一组任务是否全部完成,指导关联的任务全部完成后再发出通知以执行其他的操作。iOS提供了如下的函数开始用队列组。(1)创建队列组要想使用队列组,首
2017-11-10 22:57:34 934
原创 iOS开发—使用GCD实现多线程(单次或重复执行任务)
在使用GCD时,如果想让某些操作只使用一次,而不重复操作的话,可以使用dispatch_once()函数来实现。dispatch_once()函数可以控制提交的代码在整个应用的生命周期内最多执行一次,而且该函数无需传入队列,这就意味着系统将直接使用主线程执行该函数提交的代码块。dispatch_once()函数的定义格式如下所示:void dispatch_once(dispatch_once_t
2017-11-10 21:22:36 6182
原创 iOS开发—使用GCD下载图片
通过一个下载网络图片的案例,展示使用GCD来完成多线程的管理,当图片下载完成后,将图片显示到主线程更新UI,具体步骤如下:1、新建一个Single View Application 应用,名称为06-GCDDownload;2、进入Main.StoryBoard,从对象库拖拽一个ImageView到程序界面,用于放置下载后的图片,给Image View设置一个背景颜色,设计好的界面
2017-11-10 01:03:16 1844
原创 iOS开发—使用GCD实现多线程
GCD是苹果公司为多核的并行运算提出的解决方案,工作时会自动利用更多的处理器核心。使用GCD,系统会完全管理线程,开发者无需编写线程代码。GCD是Grand Central Dispatch 的缩写,它是基于C语言的。GCD会负责创建线程和调度学要执行的任务,由系统直接提供线程管理。GCD有两个核心概念:队列和任务。1、队列Dispatch Queue(队列),它是一个用来存放任务的集
2017-11-09 11:09:54 363
原创 iOS开发—线程间的通信
在一个进程中,线程往往不是孤立存在的,多个线程之间要经常进行通信,成为线程间的通信。线程间的通信主要体现在,一个线程执行完特定任务后,转到另一个线程去执行任务,在转换任务的同时,将数据也传递给另外一个线程。NSThread类提供了两个比较常用的方法,用于实现线程间的通信,这两个方法的定义格式如下:-(void)performSelectorOnMainThread:(SEL)aSelect
2017-11-08 17:49:02 3043
原创 iOS开发—线程之间资源共享(以卖火车票为例)—同步锁的使用
进程中的一块资源可能会被多个线程共享,也就是多个线程kennel会访问同一块资源,这里的资源包括对象、变量、文件等。当多个线程同时访问同一块资源时,会造成资源抢夺,很容易引发数据错乱和数据安全问题。为了更好的理解线程安全的问题,引入一个卖票的案例,同时设置3个窗口卖票,模拟为每一个窗口开启一个线程,共同访问票数资源。新建一个Single View Application应用,名称为02-Thr
2017-11-07 10:04:44 1530
原创 算法题—n位正整数去掉k(k<=n)位数字得到最小数
问题描述:给定n位正整数a,去掉其中任意k对于给定的正整数a,编程计算删去k个数字后得到的最小数。输入:多组测试数据,每组测试数据的第一行是1个正整数a(a,第二行是正整数k(k输出:删掉个数字后的最小数,每组测试数据输出单独一行,如果首位数字为0,删除首位数字。#include #define MAX 10000000int num[MAX];//返回删除的位置int
2017-11-06 21:45:43 7150
原创 iOS开发—使用NSThread实现多线程
NSThread类是实现多线程的一种方案,也是实现多线程最简单的方式。1、线程的创建和启动在iOS开发中,通过创建一个NSThread类的实例作为一个线程,一个线程就是一个NSThread对象。要想使用NSThread类创建线程,有3种方法,具体如下所示:在上述代码中,这三种方法都是将target对象或者其所在对象的selector方法转化为线程的执行者。其中selector方法最多可
2017-11-06 13:53:12 320
原创 Matlab画三维立体网状图形(类似魔方)
第一次用Matlab画这种三维立体的图形,搞了半天发现这个样例图片真的是个坑!发现选择Matlab画这种图真的是大材小用了。样例图片:Matlab中有很多绘制三维立体图形的函数,搜了很多资料之后发现,slice函数比较适合画这种网状图,上代码:[x,y,z]=meshgrid(0:1:4,0:1:5,0:1:4);v=x.*y; %三维立体图形xs=[0,1,2,3,4];y
2017-11-05 01:36:04 9632 5
CUDA8.0_cudnn.zip
2019-06-26
VS_debug_dll.zip
2019-06-26
MySQL-python-1.2.3.tar.gz
2018-06-28
mysql-connector-java-5.1.46和mysql-connector-java-5.1.43
2018-06-28
下载工具wget-1.10.2+yum-3.2.3+yum-3.4.3
2018-06-28
zookeeper3.4.12+hbase1.4.4+sqoop1.4.7+kafka2.10
2018-06-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人