ObjC属性使用的一个最佳实践
比如,一般情况下,头文件里是这样写: 在m文件中: 发送文章为PDF
以前,实例变量必须写在文件中,如这样: @interface Person : NSObject{ NSString *name; } 刚开始这样用的时候,觉得这不和常理啊,实例变量,为什么要放在公共的h文件中呢,应该放在实现的文件中才对。 Xcode4.2默认使用llvm做编译,带来了一些改变,其中,就是可以在m文件中声明实例变量: @implementation Person{ NSString *name; } 发送文章为PDF
如果你这样写,肯定会编译时报错的: 有人选择把变量声明放在switch语句之前,这样可能会造成混乱,变量的声明超出了自己的作用域。 其实很简单,给case加花括号即可: 发送文章为PDF
在ObjC里,没有java的private关键字,因此方法是公有的,其他对象都可以调用。 看代码: @interface Person : NSObject -(void) aPrivateMethod; @end 一般来说,方法的声明都是在h文件中写的,这样的缺点是其他代码也可以使用该方法。有些方法其实只是给类内部使用的,暴露在外面可能会带来很多问题。 发送文章为PDF
MRC这个词应该是我编的,ARC,Automatic Reference Counting,手工引用计数就应该是:Manual Reference Counting,那就应该是MRC喽,不过没有见人这样用过。 ARC引入了新的语句管理自动释放池语法: @autoreleasepool { // Code, such as a loop that creates a large number of temporary objects. } 测试了一下,在ARC情况下和MRC情况下对象的释放有不同。 发送文章为PDF
这里主要参考了Apple官方文档:Transitioning to ARC Release Notes 在支持iOS5的Xcode4中,创建项目会看到这样的选项: 这是iOS5的新特性,自动对象引用计数。默认情况下是勾选的,当然你可以取消它,按照以前的方式手动释放对象内存。 发送文章为PDF
使用的无线路由器是WRVS4400N,应该是很强大的无线设备了。但是最近一段时间,在办公室经常ping包timeout。 更新了最新的firmware,取消防火墙和其他一些安全上的限制,效果也不明显。 安装了KisMaC,一个在mac系统下扫描无线端口的应用。不用不知道,一用吓一跳。 在我周围有那么多无线设备,很多都是hidden或者没有ssid的。而且大量的和我路由器的channel冲突,怎么这么多人用channel11呢。 改为用的最少的channel5,目前来看,问题得到了解决。 这个工具的下载地址在:http://www.macupdate.com/app/mac/10133/kismac 它的官网我访问不了。 发送文章为PDF
以前界面中的阴影,需要依赖作图工具生成带阴影的底图。使用css3可以很好的解决这个问题。 比如,这是个简单的代码: <body> <div id=‘content’></div> </body> 如果没有使用css3阴影,比如css如下: #content{ height: 200px; width: 400px; margin: 10px auto; background: rgba(88,88,88,0.5); } 那么效果类似这样: 发送文章为PDF
在编写可复用的自定义按钮中,通过增加背景图的方式编写了按钮。这种方式一般应用于按钮是很特殊的图形的时候。 如果仅仅是编写可复用的自定义按钮中的按钮,可以看出,有边界、背景有渐进色,那么可以通过声明的方式获得更好的可配置特性。 这是生成的按钮: 这是按下后的按钮: 发送文章为PDF
Android的布局,要比iOS复杂的多。如果想写出和iOS类似的交互体验,付出的代价往往要增加一个数量级。 现在有个正在开发的Android项目,里面已经有了一些不合理的UI实现方式。比如按钮是一张图: 可以看出,应该用编程的方式来实现这个按钮,比如xml声明drawable,一个矩形框,四个边是圆角,要有个很细的边框,黑色的,背景色使用渐进色效果。登录使用文字而不是在图形里。 这样的好处很多: 自由的在不同分辨率屏幕下做适配,不必考虑图形的长宽比; 当文字改动后,不必喊上美工一起加班处理; 文字的国际化。 日志引用声明的方式编写可复用按钮 发送文章为PDF
Patagonia Theme designed by Wp Themes Planet and proudly powered by WordPress