由于项目原来的设计,导致在OS X 10.10之后的系统上会出现一些奇怪的Bug,调用- addSubview:positioned:relativeTo:方法却并没有实现将视图放在最上层。经过不断的查找,才知道,子视图的父视图并没有被显示出来,导致了- addSubview:positioned:relativeTo:方法不起作用。那么如果将父视图显示出来的话,window button(关闭按钮,最小化按钮,全屏按钮,最大化窗口按钮)又会被遮盖掉,无奈,需要自定义window button。
在自定义之前一定要将系统自动创建的按钮关闭1234[[self.window standardWindowButton:NSWindowCloseButton] setEnabled:NO];[[self.window standardWindowButton:NSWindowMiniaturizeButton] setEnabled:NO];[[self.window standardWindowButton:NSWindowFullScreenButton] setEnabled:NO ...
当我们再做开发,从github上面下载库的时候,总是很慢。pod setup 那是更加的慢。这里我们配置一下代理,速度立马就上去了。
Git 目前支持的三种协议 git://、ssh:// 和 http:// ,其代理配置各不相同: core.gitproxy 用于 git:// 协议, http.proxy 用于 http:// 协议, ssh:// 协议的代理需要配置 ssh 的 ProxyCommand 参数。
1、配置http和https代理
12$ git config --global http.proxy http://127.0.0.1:1087$ git config --global https.proxy https://127.0.0.1:1087
12345678910# 删除代理$ git config --global --unset http.proxy$ git config --global --unset https.proxy$ npm config delete proxy# 配置socks5代理$ git config --gl ...
今天执行 pod search 命令的时候出现了 JSON ParserError 的错误,类似于如下:
Report
Run pod search PureLayout
List the search result
can not get the result list, and shows JSON::ParserError - A JSON text must at least contain two octets!
Stack12345678CocoaPods : 1.0.0.beta.8 Ruby : ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15] RubyGems : 2.5.1 Host : Mac OS X 10.11.4 (15E65) Xcode : 7.3 (7D175) Git : git version 2.6.4 (Apple Git-63)Ruby lib dir : /Users/name/.rvm/rubies/ru ...
定义一个函数
你可以定义一个由自己想要功能的函数,以下是简单的规则:
函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
函数内容以冒号起始,并且缩进。
return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
参数传递
在 python 中,类型属于对象,变量是没有类型的:
12a = [1,2,3]a = "Runoob"
以上代码中,[1,2,3] 是 List 类型,”Runoob” 是 String 类型,而变量 a 是没有类型,她仅仅是一个对象的引用(一个指针),可以是 List 类型对象,也可以指向 String 类型对象。
可更改(mutable)与不可更改(immutable)对象
在 python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。
不可变类型:变 ...
之前解决了,点击登录无反应的 ShareSDK 问题,今天又碰到了点击登陆后回调的 SSDKResponseState 参数一直都是 cancel 的问题。
刚开始以为是我的配置文件出现了问题,一直修改 info.plist 文件,但是问题依旧。问了技术支持,说让我升级到最新的版本,我又 pod update 一下,确实是最新的版本。之后觉得可能我的 repo 不是最新的,又更新了我的 repo ,发现还是不行。我看了一下 sharesdk 的版本,确实是4.0.4最新的没错啊,之后在 GitHub 上看 sharesdk 最新版本的时候,无意间看到了 sharesdk 名字改成了 mob_sharesdk 最新版本是4.0.9,终于知道原因了。
我之前的写法:1pod 'ShareSDK3', '~> 4.0.4'
更改后1pod 'mob_sharesdk', '~> 4.0.9'
执行1pod update
重新进行第三方登陆,终于可以了😭
获取格式化的时间
你可以根据需求选取各种格式,但是最简单的获取可读的时间模式的函数是asctime():
12345678910#!/usr/bin/python# -*- coding: UTF-8 -*-import timelocaltime = time.asctime( time.localtime(time.time()) )print "本地时间为 :", localtime# 输出结果# 本地时间为 : Thu Apr 7 10:05:21 2016
格式化日期
我们可以使用 time 模块的 strftime 方法来格式化日期:
1234567891011121314151617181920#!/usr/bin/python# -*- coding: UTF-8 -*-import time# 格式化成2016-03-20 11:45:39形式print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) # 格式化成Sat Mar 28 22:24:24 2016 ...
Python 基础语法Python 标识符
在 Python 里,标识符由字母、数字、下划线组成。
在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。
Python 中的标识符是区分大小写的。
以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用from xxx import * 而导入;
以双下划线开头的 __foo 代表类的私有成员;以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数。
Python 可以同一行显示多条语句,方法是用分号 ; 分开,如:
123>>> print 'hello';print 'runoob';hellorunoob
Python 引号
Python 可以使用引号( ‘ )、双引号( “ )、三引号( ‘’’ 或 “”” ) 来表示字符串,引号的开始与结束必须的相同类型的。
其中三引号可以由多行组成,编 ...
I had a presentation (in Japanese) about RxTest at RxSwift Meetup held at Tokyo.There does not seem to be lots of RxTest related materials on the web so I decided to translate the presentation into English and to write this post.
Notes
This post is based on
Xcode 8.1 / Swift 3.0
RxSwift 3.0.0
RxTest 3.0.0
The code shown in this post is published on my GitHub repository here .
What is RxTest?
RxTest is a test framework published at RxSwift repository.
Most(All?) of the unit testing ...
在 Swift 中无法使用 #warning ,Swift 中有如下的标记:
1234//FIXME: - 待修复//TODO: - 接下来要做的事情//MARK: - 标记注: 添加"-" 可以显示分割线-----Swift3下有效
接下来给 TODO: 和 FIXME: 加上警告,实现类似的效果:
Build Phases —> add a new Build Phases —> New run script phase
添加如下的代码:
123TAGS="TODO:|FIXME:"echo "searching ${SRCROOT} for ${TAGS}"find "${SRCROOT}" \( -name "*.swift" \) -print0 | xargs -0 egrep --with-filename --line-number --only-matching "($TAGS). ...
为什么要定期更新
我发现不少人都不会经常更新,或者只在必须用某个工具的新版本的时候才更新。他们的看法是,更新有可能产生一些意外的问题,反正当前环境足够稳定可以用,干嘛自找麻烦呢?这个看法对也不对。对是因为,更新产生的潜在问题不可避免。不对是因为总有一天你需要升级的,也许是为了某个工具的新特性,也许是为了修复软件的漏洞,也许你安装的包非要依赖另一个包的新版本,等等。如果隔了很长一段时间才升级,那潜在的小问题可能就会变成大问题。另一个有意思的现象是,当碰到比较破坏性的事情,比如 Mac OS 大版本更新后,很多人会选择重装 Homebrew 然后顺带安装最新版的包。很少人会去装一个指定的旧版本(除了特殊项目需要)。这说明他们不是不想用新版本,而是不想痛苦地更新。既然总有一天需要更新,而更新带来问题不可避免,那为什么不更新得频繁点呢?这个道理跟 Git 的冲突解决有相似性。长时间不 pull/push 的代码更容易产生冲突,一个解决方法就是频繁地 commit & merge 。我现在试着一个月更新一次,两次下来发现这些好处:
每次更新的包很少,更新风险也小。
更容易 ...