zoukankan      html  css  js  c++  java
  • 打印NSLog分类 Foundation+Log.m

    #import <Foundation/Foundation.h>

    #import <UIKit/UIKit.h>

    @implementation UIView(Log)

    + (NSString *)searchAllSubviews:(UIView *)superview

    {

        NSMutableString *xml = [NSMutableString string];

        

        NSString *class = NSStringFromClass(superview.class);

        class = [class stringByReplacingOccurrencesOfString:@"_" withString:@""];

        [xml appendFormat:@"<%@ frame="%@"> ", class,NSStringFromCGRect(superview.frame)];

        for (UIView *childView in superview.subviews) {

            NSString *subviewXml = [self searchAllSubviews:childView];

            [xml appendString:subviewXml];

        }

        [xml appendFormat:@"</%@> ", class];

        return xml;

    }

    - (NSString *)description

    {

        return [UIView searchAllSubviews:self];

    }

    @end

    @implementation NSDictionary (Log)

    - (NSString *)descriptionWithLocale:(id)locale

    {

        NSMutableString *str = [NSMutableString string];

        

        [str appendString:@"{ "];

        

        // 遍历字典的所有键值对

        [self enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {

            [str appendFormat:@" %@ = %@, ", key, obj];

        }];

        

        [str appendString:@"}"];

        

        // 查出最后一个,的范围

        NSRange range = [str rangeOfString:@"," options:NSBackwardsSearch];

        if (range.length) {

            // 删掉最后一个,

            [str deleteCharactersInRange:range];

        }

        

        return str;

    }

    @end

    @implementation NSArray (Log)

    - (NSString *)descriptionWithLocale:(id)locale

    {

        NSMutableString *str = [NSMutableString string];

        

        [str appendString:@"[ "];

        

        // 遍历数组的所有元素

        [self enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {

            [str appendFormat:@"%@, ", obj];

        }];

        

        [str appendString:@"]"];

        

        // 查出最后一个,的范围

        NSRange range = [str rangeOfString:@"," options:NSBackwardsSearch];

        if (range.length) {

            // 删掉最后一个,

            [str deleteCharactersInRange:range];

        }

        

        return str;

    }

    @end

  • 相关阅读:
    oracle体系结构
    Oracle表连接(转)
    Oracle的RBO和CBO
    Linux下安装Tomcat服务器和部署Web应用
    动态创建selectjs 操作select和option
    JS中如何获取<Select>中value和text的值
    原生JavaScript事件详解
    动态添加select的option
    js 动态加载事件的几种方法总结
    js实现select动态添加option
  • 原文地址:https://www.cnblogs.com/Hakim/p/5262324.html
Copyright © 2011-2022 走看看