当前位置:  编程技术>移动开发
本页文章导读:
    ▪Xib资料使用(三)——Object的使用        Xib文件使用(三)——Object的使用继续看xib文件的一些组件,如: 图中Object,可以看作以一个临时的对象容器,如果有什么需要xib文件去创建的对象,便可以在将Object拖入xib文件,并设置.........
    ▪ Spring-AOP中的几个名词        Spring--AOP中的几个名词 AOP面向切面编程,是一种编程思想,并不是Spring专有,之前的博客中也写到了关于AOP的文章,Filter和代理。这篇主要介绍SpringAOP的几个概念和一般用法,不再具体细说.........
    ▪ 适用的Xcode 4.5默认快捷键整理(持续中)       实用的Xcode 4.5默认快捷键整理(持续中)command + F:文件内查找文字 command + L: 快速跳转到某行代码 command + up/down:光标跳转到文件头/尾 command + left/right:光标跳转到行首/行尾 command + shift + F:工程.........

[1]Xib资料使用(三)——Object的使用
    来源: 互联网  发布时间: 2014-02-18
Xib文件使用(三)——Object的使用

继续看xib文件的一些组件,如:


图中Object,可以看作以一个临时的对象容器,如果有什么需要xib文件去创建的对象,便可以在将Object拖入xib文件,并设置。图中的External Object 是xib文件外的对象,但会和xib文件unarchive后的对象有关系,所以在xib中表示这些外部对象,使用的是占位符(placeholder),xib文件中的file's owner 就是一个External Object ,如上一篇中的RootViewController是RootViewController.xib文件的file's owner,RootViewController就是在外部使用alloc创建的,并且可以和xib文件里的对象关联。

接下来,用一个策略模式的实际例子,来继续了解Object的使用,代码传送门

在将Object拖入xib文件后,我们还需要更改相应的类名


设置相应的关联


在Object內的对象是autorelease的,所以属性需要这样设置

@property (nonatomic, retain) IBOutlet InputValidator *inputValidator;

若是不retain,对象会在下个runloop启动时被释放。

并且需要在dealloc时release

- (void) dealloc
{
    [inputValidator_ release];
    [super dealloc];
}






    
[2] Spring-AOP中的几个名词
    来源: 互联网  发布时间: 2014-02-18
Spring--AOP中的几个名词

AOP面向切面编程,是一种编程思想,并不是Spring专有,之前的博客中也写到了关于AOP的文章,Filter和代理。这篇主要介绍SpringAOP的几个概念和一般用法,不再具体细说每个名词的来源,从用法中读者应该就会体会到。下面用三峡大坝作为例子,通俗的来理解几个生涩的名词。

场景:为了合理利用长江丰富水资源,要在长江流域修建一个大坝,并且要在大坝上建立一个汛期报警系统,防止水位过高带来的安全隐患。

切入点(Pointcut):修大坝首先要定位在何地修建,三峡水流湍急,成为首选之地,在AOP中有个专业的名词叫切入点,这个例子中,三峡就是切入点。在程序中,切入点一般是一个或多个符合某种规则的方法,用正则表达式来表示,如:expression= "execution(* add*(..)),Pointcut是用来订阅连接点的。

有了修建的地址,接下来就要建造大坝了,那这个大坝就是Spring中所说的切面:

切面(Aspect):三峡大坝中拦水的“大坝”,可以把它想象成一个没有具体实现的框架。在程序中,切面是我们想要插入的模块,可以理解成一层,或者一个类,也可以是一个应用(类比较好理解)。切面是一个模块化的过程,善于发现合理的切面是我们在应用AOP最重要的一部分。

通知(Advice):有了大坝这个框架后(可以理解成一个类),就该实现他了,汛期报警系统是大坝配套设施的其中之一(可以理解成类中的一个方法)。Advice是横向关注点的具体实现者。该汛期报警系统由如下几种报警类型:

A.前置通知(Beforeadvice):在水位还未到达警戒线时汛期报警系统发出通知(执行方法)。调用目标对象方法之前执行。

B.后置通知(Afterreturning advice):水位已超过警戒线通知(执行方法)。调用目标对象方法之后执行。

C.异常通知(Afterthrowing advice):出现地震等异常情况时发出通知。目标对象方法出错后执行。

D.最终通知(After(finally)advice):发生异常情况,或水位到了警戒线,都会发出通知。目标对象方法出错或者执行完成后执行。

E.环绕通知(AroundAdvice):在水位未到达或已超过警戒线时都会发出通知。目标对象方法执行前和执行后都会执行通知。

连接点(Joinpoint):这个概念比较晦涩,它指的是方法调用,指符合切入点具体的方法调用称为连接点。比如在addUser()方法前添加事务管理(用AOP技术),那么把addUser()的调用称之为连接点。

目标对象(TargetObject):这里指长江。程序中是被通知对象。

织入(Weaving):大坝修在三峡的过程称之为织入,进一步看就是把Advice用到Joinpoint上。织入就是把切面连接到其它的应用程序类型或者对象上,并创建一个被通知的对象。

AOP代理(AOPProxy):在SpringAOP中有目标的概念,有些AOP是没有目标的,他会把代理这类采用一种编译器,把代理上所有的控制行为全部放到目标上,相当于采用编译器直接把要控制的东西全部编译到一个类里,就没有了目标的概念。Spring是有单独的概念的,在运行时来调用目标,这就是代理的功能。

引入(Introduction):动态的为某个类增加或减少方法。

下面是一个简单的小实例(实例来自网络):

1.定义一个接口和实现类:

public interface IMan { 
    public void qq();  
} 

public class Man implements IMan { 
    private String name; 
public String getName(){ 
       return name; 
    } 
    public void setName(Stringname) { 
       this.name = name; 
    } 
    public void qq() { 
       System.out.println("我在聊QQ"); 
    } 
} 

2.定义一个通知(Advice)

importorg.springframework.aop.MethodBeforeAdvice; 
public class FBI implements MethodBeforeAdvice { 
    @Override 
    public void before(java.lang.reflect.Method method, Object[] args, 
           Object target) throws Throwable { 
        Manman = (Man) target; 
       System.err.println("FBI 发现" + man.getName() + "正在进行" 
               + method.getName() + " 活动。"); 
    } 
} 

3.配置Advisor

<bean id="man" > 
        <propertyname="name"> 
           <value type="java.lang.String">张三</value> 
       </property> 
    </bean> 
 
    <bean id="FBI"></bean> 
 
    <bean id="civilian" 
       > 
       <property name="proxyInterfaces"> 
           <value>IMan</value> 
       </property> 
       <property name="interceptorNames"> 
           <list> 
               <value>FBI</value> 
           </list> 
       </property> 
        <propertyname="target"> 
           <ref bean="man" /> 
       </property> 
    </bean> 

以上就是一个完整的SpringAOP小实例。

1楼beijiguangyong昨天 12:34AOP

    
[3] 适用的Xcode 4.5默认快捷键整理(持续中)
    来源: 互联网  发布时间: 2014-02-18
实用的Xcode 4.5默认快捷键整理(持续中)

command + F:文件内查找文字

command + L: 快速跳转到某行代码

command + up/down:光标跳转到文件头/尾

command + left/right:光标跳转到行首/行尾


command + shift + F:工程内查找文字

command + shift + L: 跳转到所选代码

command + control + up/down: 切换实现文件与头文件

command + control + left/right: 文件向前/向后

command + shift + O: 快速打开文件(根据文件名或变量名)

command + shift + J: 快速定位当前编辑的文件


control + i: 格式化缩进所选代码


option + left/right:光标左右移动一个单词



    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3