温宇直

世事如书。

JS获取日期 & bootstrap-datepicker设置默认日期

JavaScript获取日期 function getDateString(dayInterval) { var dd = new Date(); dd.setDate(dd.getDate() + dayInterval); var y = dd.getFullYear(); var m = dd.getMonth() + 1; // month starts from 0 v...

CSS代码风格规范(转)

在Github上找到一份各种语言代码风格的集合帖,挑几个自己常用的语言翻译记录下来。方便查阅。 CSS 文件名称 不要将项目的名称用在你的文件名上 /* DON'T */ sales.css checkout.css /* DO */ base.css component-name.css 将组件名作为样式表的名称 /* DON'T */ styles.cs...

LinkedIn官方Swift编码风格(译)

代码格式 1.1 tabs键的空间应该是4个空格的空间 1.2 避免每行代码的长度过长,最好限制在160个字符内(Xcode->Preference->Text Editing->Page guide at column:160) 1.3 确保每个文件的结束都起了一个新行 1.4 确保所有地方都没有多余的空格(Xcode->Preference->Tex...

Swift中的Lock

最近在工作上对于并发处理的代码越来越多。一般情况下,在iOS开发上,线程的处理中通常是使用GCD,NSOperation或者是NSThread. 这三者的封装从高到低,GCD是最经常使用的,也是Apple官方所推荐的。不过这三者我还没仔细研究,等以后有时间再仔细看看。 今天需要的一个需求是避免两个线程访问同一个变量,导致变量变化。也就是说给某个变量加上互斥锁。 在OC中,要在不同线程中安...

Swift对象转C指针

Swift Object in C

class Bridge { // 前两个是使用__bridge class func bridge<T: AnyObject>(obj: T) -> UnsafePointer<Void> { return UnsafePointer(Unmanaged.passUnretained(obj).toOpaque()) } class ...

Swift - Int转UInt

Swift - Int to UInt

extension Int8 { init(_ v: UInt8) init(_ v: UInt16) init(truncatingBitPattern: UInt16) init(_ v: Int16) init(truncatingBitPattern: Int16) init(_ v: UInt32) init(truncati...

Swift - UIRefresh

UIRefresh

UIRefreshControl通常用于UITableView和UICollectionView的下拉刷新。一个UIRefreshControl控件通常可以修改其tintColor和attributedTitle的值。 一开始UIRefreshControl初始化完成后,想要添加到tableView的时候,总想着tableView应该有个setRefreshControl()方法可以用来设...

利用AVFoundation获取视频缩略图

利用AVFoundation获取视频缩略图的代码如下 func getVideoThumb(videoURL: String) -> UIImage { let url:NSURL = NSURL(string: videoURL)! let asset:AVURLAsset = AVURLAsset(URL:url, options: nil) let ge...

JavaScript笔记

JS中变量有按值和按引用两种访问方式,其中基本类型都是按值访问。但是对于方法的参数来说,只有按值传递这种方式。 //按值传递 var num1 = 5; var num2 = num1; // num2与num1中的值完全独立,修改num2并不会影响到num1 // 按引用传递 var obj = new Person(); var obj2 = obj; obj.name =...

H.264介绍(从Stack Overflow答案翻译)

最近在研究如何利用iOS的VideoToolbox的框架对在线视频进行硬解码,从而能够降低下视频播放器的内存使用。关于VideoToolbox的介绍后面再补上占坑专用。在开发过程中,参考了两个Demo: VTDemo -VideoToolboxDemo 这两个Demo中,基本思路和代码都是差不多。利用FFMPEG进行解析出流数据之后,利用Vid...