事情是这样的,我程序里有一个字符串常量@"4.81"
我需要把它转成@"481"
, 事实上从意义上说,并不是去掉小数点,而是把@"4.81"
的4.81
乘以100
再转成整数,最后转回字符串。
于是我就这样做了
1
|
|
结果却是
1
|
|
所以,好危险,遇到这种情况还是要检查过才行。至于解决办法…
事情是这样的,我程序里有一个字符串常量@"4.81"
我需要把它转成@"481"
, 事实上从意义上说,并不是去掉小数点,而是把@"4.81"
的4.81
乘以100
再转成整数,最后转回字符串。
于是我就这样做了
1
|
|
结果却是
1
|
|
所以,好危险,遇到这种情况还是要检查过才行。至于解决办法…
如果客官是写代码给别人用的那一群人,很可能有在当前APP中弹出一个对话框或者窗口的需要,而且很多时候我们只知道那个APP是一个iOS程序,对它的实现一无所知(可能是cocos2dx,可能是unity3d…)。还好iOS程序有个常识——APP有window才能显示,我们需要做的就是获得那个window,把我们创建的UIView添加上去。
其实还有一些方案,比如创建一个UIWindow,保证它的level比Normal的level高,然后makeKeyAndVisible。这种做法会遇到问题,比如,在这个不是NormalLevel的window里用webview播放在线视频页面层次会错乱,在这个window里使用虚拟键盘,ios6下也会有问题。
还有一个方案,让用到你的代码的程序员提供一个UIView或者ViewController,然后把想要放的界面放进去,这个方案比较可靠,缺点是遇到那些没有iOS编程概念的程序员会很难教育,如果他们使用unity3d,他们可能根本不需要知道UIView是什么。
所以还是回到题目中的问题,首先要明白一个API只要不被不允许怎样使用,那么那个API的什么用法都有可能被程序员们用到。比如现在要说的UIWindow,一个APP最好不要使用多个UIWindow,我在stackoverflow上遇到过不少这样的告诫,作为一个写代码给别人用的人,我很感激他们用心良苦,但还是有很多人没有看到这种告诫或者无视掉, 拥有多个UIWindow的APP我见过不少。
要获得我们寄宿UIView的UIWindow就要知道下面几个事实:
1,有的程序不止一个UIWindow
一直都留意到公司里的项目中的一个动画比较奇怪,前两天终于静下来研究了一下是什么问题。
那个是一个立方体切换动画,过程很正常,就是在动画的最后闪了一下。我怀疑是动画的最后并没有保持layer的transform属性,搜索了一阵后发现果然是这样。
CAAnimation默认是动画完毕后就把动画的transform去除(kCAFillModeRemoved),因此要保持动画的最终状态需要如下设置
1 2 |
|
昨天把同事的打包文档的python脚本改了一下,早上我在终端上运行没出问题,打算加到XCode里成为打包 SDK 的脚本的一部分,开始了漫长折腾…
首先我的 python 脚本是被一个bash脚本调用的
1 2 3 4 5 |
|
我在Run Script
里
1
|
|
提示两个错误
1,python3找不到
2,xxxx/../doc 是个文件夹
花了半天总算把QRCode边栏改为了可以直接像img
标签那样的用法,方便在blog中随时添加带有URL的QRCode。当然稍微修改一下还能在里面包含其他的信息,不过我目前没那种需求,所以就做这个支持了。
为了让它能像img
那样的使用,因此我很干脆的直接调用了ImageTag
类进行解析。
需要修改plugins/image_tag.rb
:
很早以前就接触到了SQLCipher,当时已经很完善了,不过很悲剧的发现,SQLCipher版本间不兼容,每更新一次都得重新编译一次,那叫一个悲剧啊~
SQLCipher is an open source library that provides transparent, secure 256-bit AES encryption of SQLite database files.
虽然SQLCipher是开源的,但是仅仅是开源的而已——你要自己编译,不想自己编译就得付费购买已经编译好的二进制文件~~
木有钱,只好自己编译了。这里讲服务器端的编译过程。其实所谓的服务器,指的是Linux系的命令行核心的编译,例如centos、MacOSX等系统。
只用$(dirname $0)是不能获得绝对路径的, 还要跳到那个目录,再获取绝对路径,命令如下
1 2 3 |
|
最近发现WIFI丢包挺严重的,忽好忽坏。于是检查了一下WIFI,发现不知不觉中,小区内多了好多的WIFI热点,悲剧的是有的WIFI信号比我自己屋里的WIFI信号还强!!囧啊~~
估计很有可能是WIFI干扰了,之前在薄荷曾经就处理过WIFI频率冲突的问题,于是解决起来就轻车熟路了。
先查了一下周边的WIFI都用什么频道吧~按住Option
点击mac的WIFI,会看到多出不少信息,里面有当前的连接的WIFI的信息,鼠标移到其他热点上,也会显示相应的频道等信息:
- [UIView viewWithTag:]
这个方法经常用,一般也没出现什么问题,最近在一个项目中,采用动态增加subview的方式构造View,同时对特殊的view做了tag。问题出来了,整个view里面有好多相同tag的subview!!那么这个方法到底返回哪个view呢?他的实现逻辑又是什么?
查了一下官方文档:
This method searches the current view and all of its subviews for the specified view.
从这句话,很容易判断出:
这个不难理解,就不多说了,我们来个例子分析我遇到的问题: