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

  • 相关阅读:
    【Linux】没有网的情况下如何安装GCC
    【PL/SQL】PLSQL Developer注册码
    【JS】字符串操作
    【java】svn显示&#215;
    线段树
    病毒感染者
    并查集
    最小的N个和(堆)
    priority_queue的用法
    打印杨辉三角
  • 原文地址:https://www.cnblogs.com/Hakim/p/5262324.html
Copyright © 2011-2022 走看看