0%

与其他高级语言一样,Python也提供了迭代器的功能,迭代器统一了访问的集合的方式,Python中所有的集合数据类型(list, str, dict, set, tuple)都支持使用for进行迭代,当然我们也可以为自己定义的类或函数实现这种迭代的功能

阅读全文 »

Python从语法级别提供了对装饰器模式的支持,有时候需要为一些函数添加一些额外的操作,如在执行前后打印执行时间,由于Python是函数式编程语言,支持高阶函数(函数可以作为参数和返回值使用),这样我们可以定义一个函数对原有的函数进行包装,比如在函数执行前后进行打印

阅读全文 »

关于多线程的理论,这里不做介绍,Python通过thread和threading两个标准库提供对多线程的支持。

  • thread提供了低级别的、原始的线程以及一个简单的锁。
  • threading基于Java的线程模型设计。锁(Lock)和条件变量(Condition)在Java中是对象的基本行为(每一个对象都自带了锁和条件变量),而在Python中则是独立的对象。
阅读全文 »

一直想学习一下Python语言,拥有动态语言的特性,还是解释型语言,拥有高级数据结构,可以以简单而高效的方式进行面向对象编程,并且Python类库众多,适合写脚本,特别是一些小工具,最近把Python语法大概捋了一遍,在这里记录学习的过程

阅读全文 »

做iOS开发的时,很多时候我们需要对获取当前所在的ViewController,搜了一下,大多数答案都不靠谱,都不能正确获取到当前的控制器,不一定能获取到当前的ViewController,于是自己写了一个方法

阅读全文 »

函数式编程(英语:functional programming)或称函数程序设计,又称泛函编程,是一种编程范型,它将电脑运算视为数学上的函数计算,并且避免使用程序状态以及易变对象。函数编程语言最重要的基础是λ演算(lambda calculus)。而且λ演算的函数可以接受函数当作输入(引数)和输出(传出值)。

阅读全文 »

做iOS开发的基本上都知道cocoapod,几乎每一种语言都有一种包管理工具,如C#的Nuget,Ruby的Brew,Nodejs的npm等,当然cocoapod就是objc/swift的包管理的工具了,几乎所有的objc/swift的开源类库都挂在cocoapod上,cocoapod可以让项目很方便的引用第三方类库,今天介绍一下如果把自己的写的库挂到cocoapod上,像SDWebImage, AFNetworking一样

阅读全文 »

Xcode在生成库(.a或.framework)的时候,通常会生成两个版本,一个是用于真机的版本,一个是用于模拟器的版本

  • 真机:armv7, armv7s, arm64架构
  • 模拟器:i386, x86_64
阅读全文 »

编译哔哩哔哩开源的ijkplayer iOS版本记录,只是为了更方便使用
ijkplayer基于ffmpeg,几乎支持所有视频,音频格式,最低支持到iOS6,在低端机如iphone4,itouch4上测试运行效果良好,搞播放器的同学可以基于这个来做,节省不少时间

阅读全文 »