当前位置: 首页 > news >正文

网站文字编辑怎么做成都公司网站seo

网站文字编辑怎么做,成都公司网站seo,鞍山 网站建设,html5后台网站模板category与associative作为objective-c的扩展机制的两个特性#xff0c;category即类型#xff0c;可以通过它来扩展方法#xff1b;associative#xff0c;可以通过它来扩展属性#xff1b;在iOS开发中#xff0c;可能category比较常见#xff0c;相对的associativecategory即类型可以通过它来扩展方法associative可以通过它来扩展属性在iOS开发中可能category比较常见相对的associative就用的比较少要用它必须使用objc/runtime.h的头文件然后就可以自由使用objc_getAssociatedObject以及objc_setAssociatedObject我们来看下这两个方法OBJC_EXPORT void objc_setAssociatedObject(id object, const void *key, id value, objc_AssociationPolicy policy)__OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_1);OBJC_EXPORT id objc_getAssociatedObject(id object, const void *key)__OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_1); 另外还有一个方法OBJC_EXPORT void objc_removeAssociatedObjects(id object)__OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_1); objc_getAssociatedObject、objc_setAssociatedObject、objc_removeAssociatedObjects都是Obj-c中的外联方法object 参数作为待扩展的对象实例key作为该对象实例的属性的键而value就是对象实例的属性的值policy作为关联的策略它的枚举包括enum {OBJC_ASSOCIATION_ASSIGN  0,OBJC_ASSOCIATION_RETAIN_NONATOMIC  1,OBJC_ASSOCIATION_COPY_NONATOMIC  3,OBJC_ASSOCIATION_RETAIN  01401,OBJC_ASSOCIATION_COPY  01403};具体我就多说了可以看得懂的。 另外objc_removeAssociatedObjects可以删除指定对象实例的所有扩展属性。 现在看一个简单的例子引用网上的例子:http://code4app.com/ios/Block-UI/504fe65d6803faa33f000003  这里定义了一个alert view的按钮UIButton *button  [UIButton buttonWithType:UIButtonTypeRoundedRect];[viewController.view addSubview:button];button.frame  CGRectMake(50, 50, 100, 44);[button setTitle:alert view forState:UIControlStateNormal];现在对UIButton通过使用category对其进行方法扩展implementation UIControl (BUIControl)…...- (void)handleControlEvent:(UIControlEvents)event withBlock:(void(^)(id sender))block {NSString *methodName  [UIControl eventName:event];NSMutableDictionary *opreations  (NSMutableDictionary*)objc_getAssociatedObject(self, OperationKey);if(opreations  nil){opreations  [[NSMutableDictionary alloc] init];objc_setAssociatedObject(self, OperationKey, opreations, OBJC_ASSOCIATION_RETAIN);}[opreations setObject:block forKey:methodName];[self addTarget:self action:NSSelectorFromString(methodName) forControlEvents:event];}objc_getAssociatedObjectobjc_setAssociatedObject进行属性扩展 OperationKey是一个字符类型这里表示一个键如果Opreations为空会setAssociatedObject一个新的opreations对象到对应键的值中间。 addTarget:action:forControlEvents对于触摸事件进行目标绑定。 NSSelectorFromString(methodName) 将触发方法-(void)UIControlEventTouchDown{[self callActionBlock:UIControlEventTouchDown];}-(void)UIControlEventTouchDownRepeat{[self callActionBlock:UIControlEventTouchDownRepeat];}-(void)UIControlEventTouchDragInside{[self callActionBlock:UIControlEventTouchDragInside];}-(void)UIControlEventTouchDragOutside{[self callActionBlock:UIControlEventTouchDragOutside];}-(void)UIControlEventTouchDragEnter{[self callActionBlock:UIControlEventTouchDragEnter];}-(void)UIControlEventTouchDragExit{[self callActionBlock:UIControlEventTouchDragExit];}-(void)UIControlEventTouchUpInside{[self callActionBlock:UIControlEventTouchUpInside];}-(void)UIControlEventTouchUpOutside{[self callActionBlock:UIControlEventTouchUpOutside];}-(void)UIControlEventTouchCancel{[self callActionBlock:UIControlEventTouchCancel];}-(void)UIControlEventValueChanged{[self callActionBlock:UIControlEventValueChanged];}-(void)UIControlEventEditingDidBegin{[self callActionBlock:UIControlEventEditingDidBegin];}-(void)UIControlEventEditingChanged{[self callActionBlock:UIControlEventEditingChanged];}-(void)UIControlEventEditingDidEnd{[self callActionBlock:UIControlEventEditingDidEnd];}-(void)UIControlEventEditingDidEndOnExit{[self callActionBlock:UIControlEventEditingDidEndOnExit];}-(void)UIControlEventAllTouchEvents{[self callActionBlock:UIControlEventAllTouchEvents];}-(void)UIControlEventAllEditingEvents{[self callActionBlock:UIControlEventAllEditingEvents];}-(void)UIControlEventApplicationReserved{[self callActionBlock:UIControlEventApplicationReserved];}-(void)UIControlEventSystemReserved{[self callActionBlock:UIControlEventSystemReserved];}-(void)UIControlEventAllEvents{[self callActionBlock:UIControlEventAllEvents];}注意到这里会去执行callActionBlock:方法- (void)callActionBlock:(UIControlEvents)event {NSMutableDictionary *opreations  (NSMutableDictionary*)objc_getAssociatedObject(self, OperationKey);if(opreations  nil) return;void(^block)(id sender)  [opreations objectForKey:[UIControl eventName:event]];if (block) block(self);}最终会从扩展属性中得到^block关于^block可以参考http://blog.csdn.net/pjk1129/article/details/6577097 最后调用[button handleControlEvent:UIControlEventTouchUpInside withBlock:^(id sender) {UIAlertView *alert  [[UIAlertView alloc] initWithTitle:alertmessage:nildelegate:nilcancelButtonTitle:okotherButtonTitles:other,nil];}];点击按钮就会触发一个block函数。 这样就实现了objective-c的两种扩展机制。转载于:https://www.cnblogs.com/liping13599168/archive/2012/09/13/2682664.html
http://www.yutouwan.com/news/169912/

相关文章:

  • 佛山做网站-准度科技公司哪里可以做网站推广
  • 安卓和网站开发找工作snippets wordpress
  • 网站前端用的到ps美食电子商务网站建设策划书
  • 济南网站建设推荐q479185700强涵优质网站建设方案
  • 正规网站制作价格企业简介优势项目案例等推广
  • 营销型单页网站黑龙江省建设工程网
  • 刚做的网站怎么织梦如何仿手机网站
  • 用vs2010做网站导航WordPress文章相似推荐
  • 网站备案 拉黑开发网站公司排行
  • 新浪推网站wordpress多媒体设置
  • 网站怎么自适应西安网站托管排名
  • 制作的网站如何访问南充网站建设费用
  • 阿里云个人网站备案过程全记录wordpress移动端底部导航栏
  • 要建设一个网站需要什么手续怀柔网站制作
  • 两学一做网站安徽省怎么制作网页内容
  • 规范网站建设的通知成都软件开发公司排名
  • 网站建设外包名词解释成品网站是什么意思
  • 国外交互设计网站欣赏html网页设计代码作业正能量
  • 网站欧美风格免费解析网站制作
  • 宁波高等级公路建设指挥部网站wordpress关闭评论审核
  • 佛山网站制作哪家好吉林省建设厅网站二建管理系统
  • wordpress能做多大的站网站只做1单生意被罚4万两级违法
  • 做企业网站的意义网页设计师招聘条件
  • 河北建设厅网站没有注册怎么做网站设计
  • 网站建设费算办公费吗网站制作手机
  • 信誉好的手机网站建设网站 备案已注销
  • 给公司做门户网站什么是网站的后台
  • 专门做中式的设计网站外贸公司怎么注册
  • 营口网站开发免费优化
  • 吉林省电力建设总公司网站3d房屋建筑设计软件