内容简介:在新接手的项目上做开发是比较慢的,尤其是开发、产品、设计都换了几波人的上了年纪的项目。其实我们还是可以通过一些途径来提高维护老项目的效率。比如今天(全新的开发人员、产品、设计)就碰到设计说新做的需求有一个切图是app中原来就有的,为了保持风格统一,沿用原来的切图。难道还需要定位到当前的页面对应的代码中去寻找相应图片的名字吗?如果后面的新需求有大量类似的图片怎么办?经过一番思考,确定了一种比较快速定位图片名字的方法。如下:利用
在新接手的项目上做开发是比较慢的,尤其是开发、产品、设计都换了几波人的上了年纪的项目。其实我们还是可以通过一些途径来提高维护老项目的效率。比如今天(全新的开发人员、产品、设计)就碰到设计说新做的需求有一个切图是app中原来就有的,为了保持风格统一,沿用原来的切图。难道还需要定位到当前的页面对应的代码中去寻找相应图片的名字吗?如果后面的新需求有大量类似的图片怎么办?经过一番思考,确定了一种比较快速定位图片名字的方法。如下:
第一步:给UIImage添加name属性
利用 runtime
在 UIImage
的分类中给 UIImage
关联一个属性 p_name
,替换原来的 imageNamed:
方法,在自己的方法中将图片的名字保存到 p_name
中。
#import <UIKit/UIKit.h> NS_ASSUME_NONNULL_BEGIN @interface UIImage (name) @end NS_ASSUME_NONNULL_END 复制代码
#import "UIImage+name.h"
#import <objc/runtime.h>
@implementation UIImage (name)
- (void)setP_name:(NSString *)p_name {
objc_setAssociatedObject(self, @selector(p_name), p_name, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}
-(NSString *)p_name {
return objc_getAssociatedObject(self, _cmd);
}
+ (UIImage *)wsk_imageNamed:(NSString *)imageName {
UIImage *image = [UIImage wsk_imageNamed:imageName];
image.p_name = imageName;
return image;
}
+(void)load {
Method imageNameMethod = class_getClassMethod([self class], @selector(imageNamed:));
Method wsk_imageNamedMethod = class_getClassMethod([UIImage class], @selector(wsk_imageNamed:));
method_exchangeImplementations(imageNameMethod, wsk_imageNamedMethod);
}
@end
复制代码
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 快速接手新项目技巧:使用Runtime找到UIImage名字
- 接了个新项目
- 用cookiecutter来创建新项目
- 实战第四步:新项目之十大输出产物
- Android Studio 0.2.9和新项目
- 看雪众测平台第15期,新项目已上线!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Web2.0策略指南
艾米 / 2009-3 / 39.00元
《Web2.0策略指南》是有关战略的。书中的示例关注的是Web 2.0的效率,而不是聚焦于技术。你将了解到这样一个事实:创建Web 210业务或将Web 2.0战略整合到现在业务中,意味着创建一个吸引人们前来访问的在线站点,让人们愿意到这里来共享他们的思想、见闻和行动。当人们通过Web走到一起时,结果可能远远大于各部分的和。随着传统的“口碑传诵”助推站点高速成长,客户本身就能够帮助建立站点。 ......一起来看看 《Web2.0策略指南》 这本书的介绍吧!
图片转BASE64编码
在线图片转Base64编码工具
Markdown 在线编辑器
Markdown 在线编辑器