在有些情况下死锁是可以避免的。本文将展示三种用于避免死锁的技术: 加锁顺序 当多个线程需要相同的一些锁,但是按照不同的顺序加锁,死锁就很容易发生。 如果能确保所有的线程都是按照相同的顺序获得锁,那么死锁就不会发生。看下面这个例子: 如果一个线程(比如线程3)需要一些锁,那么它必须按照确定的顺序获取锁 ...
分类:
编程语言 时间:
2018-07-30 21:32:26
阅读次数:
173
运行后界面空白,Xcode跳转到APPDelegate.swift文件提示如下 第一种可能原因: 做输出口后在代码中重新命名了输出口 解决方法: 右键控件关闭输出口的连接,变回+号,将它重新连到代码的var...处松开。 或者直接删除代码代码重新做输出口。 第二种可能原因: 修改了ViewContr ...
分类:
移动开发 时间:
2018-07-29 14:15:47
阅读次数:
189
top:命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表. 该命令可以按CPU使用.内存使用和执行时间对任务进行排序; 而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定. 统计信息区前五行是系统整体的统计信息。第一行是任务队列信息,同 uptime ...
分类:
系统相关 时间:
2018-07-29 00:08:13
阅读次数:
189
import UIKit class Person: NSObject { private var _name: String? var name: String? { get { return _name } set { _name = newValue } } //下面的写法会导致死循环 // ...
分类:
编程语言 时间:
2018-07-27 21:06:00
阅读次数:
234
class Person: NSObject { var name: String? var age: Int = 0 //1便利构造函数,允许返回nil //2本身不负责对象的创建 //3需要在调用self.init()创建对象后,才能访问对象的属性 convenience init?(name: ...
分类:
编程语言 时间:
2018-07-27 01:14:11
阅读次数:
161
面试题 ①给一个数组,要求用swift写一个函数,交换数组中的两个元素。 ②循环引用 ③使用 swift实现一个函数,输入是任一整数,输出要返回输入的整数+2 ④ 简化代码 ...
分类:
编程语言 时间:
2018-07-27 01:13:53
阅读次数:
212
1定义模型属性的时候,如果是对象,通常都是可选的(在需要的时候创建,避免写构造函数,简化代码) 2如果是基本数据类型,不能设置成可选的,而且要设置初始值,否则KVC会崩溃 3使用KVC方法前,需要先调用super.init(),保证对象实例化完成 4必须在类的前面添加@objcMembers(或者在 ...
分类:
编程语言 时间:
2018-07-25 23:54:14
阅读次数:
299
Objective-C语言是iOS开发的专用语言,虽然现在在逐步被swift语言取代,但是仍可以作为基础学习,学会Objective-C之后入手swift也是相当快速。今天我来简谈一下关于OC中的类。 如果有过C++,Java基础的同学就会对类有了初步的了解。类,是一个抽象的概念,将一个事物抽象后概 ...
分类:
其他好文 时间:
2018-07-25 22:09:21
阅读次数:
203
方法中使用到的phasset就是我们取到的PHAsset对象 方法一: 1 let options = PHVideoRequestOptions() 2 3 options.version = PHVideoRequestOptionsVersion.current 4 5 options.del ...
分类:
编程语言 时间:
2018-07-25 14:35:04
阅读次数:
1058
最近因为项目需要从零开始开发微信小程序,在使用的过程中踩过不少的坑,但他的优点也多多。 优点: 1.不需要操心移动端的适配问题 2.可以直接调用手机的一些功能,如:相册,照相机之类的 3.有自己一套组件,同时有相应的WeUI可用作微信 Web开发,保证了界面风格的统一 缺点: 1.某些组件就是灾难区 ...
分类:
微信 时间:
2018-07-25 13:49:04
阅读次数:
227