iOS 实用category

  好用分类提供给程序员很多便利,收集一些自己常用到的,会用到的分类;

使用数组时注意判断下标是否越界,插入对象前先判断该对象是否为空。

if (aObj) {
    [array addObject:aObj];
}

可以使用 Cocoa 的 Category 特性直接扩展 NSMutable 类的 Add/Insert 方法。比如:

@interface NSMutableArray (SafeInsert)
-(void) safeAddObject:(id)anObject;
@end

@implementation NSMutableArray (SafeInsert)
-(void) safeAddObject:(id)anObject {
    if (anObject) {
        [self addObject:anObject];
    }
}
@end

这样,以后在工程里面使用 NSMutableArray 就可以直接使用 safeAddObject 方法来规避 Crash。

 


 

 

 

@interface NSString (Suffix)

//  添加文件名后缀

- (NSString *)fileNameAppend:(NSString *)append;

@end

 

@implementation NSString (Suffix)

#pragma 添加文件后缀

- (NSString *)appendFileName:(NSString *)append;

{

    NSString *fileName = [selfstringByDeletingPathExtension];

    fileName = [fileName stringByAppendingString:append];

    NSString *filePath = [self pathExtension];

    if ([filePath length]) {

        return [filePath stringByAppendingPathExtension:filePath];

    }

    return fileName;

}

@end


 

@interface UIImage (Frame) 

 

// 返回全屏图片

 

+ (UIImage *)fullScreenImageWithName:(NSString *)name;

 

// 返回拉伸的图片

 

+ (UIImage *)stretchImageWithName:(NSString *)name;

 

@end

@implementation UIImage (Frame)

 #pragma 拼接全屏图片字符串

+(UIImage *)fullScreenImageWithName:(NSString *)name

{

    if (iPhone5) {

        name = [name appendFileName:@"-568h@2x"];

    }

    return [UIImage imageNamed:name];

}

#pragma 拉伸图片

+(UIImage *)stretchImageWithName:(NSString *)name

{

    UIImage *image = [UIImage imageNamed:name];

    return [image stretchableImageWithLeftCapWidth:image.size.width *0.5topCapHeight:image.size.height *0.5];

}

 @end

 


 

posted @ 2014-04-23 11:19  勿忘初心,方得始终  阅读(223)  评论(0编辑  收藏  举报