zoukankan      html  css  js  c++  java
  • 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

     


     

  • 相关阅读:
    表连接问题
    public interface Serializable?标记/标签接口
    4.21
    第十周周记
    测试
    第九周周记
    第七周周记
    fighting.
    fighting
    作业一
  • 原文地址:https://www.cnblogs.com/wuwangchuxin/p/3682474.html
Copyright © 2011-2022 走看看