好用的一个object c 宏
一个 object 好用
2023-09-27 14:28:39 时间
好用的一个object c 宏
from https://github.com/justzt/ios-helper/blob/master/Macro.h
// // Macro.h // PhotoWorld // // Created by Yang on 10/5/11. // Copyright 2011 __MyCompanyName__. All rights reserved. // #define SafeRelease(A) [A release];A=nil; #define SafeReleaseDelegate(A) [A setDelegate:nil];[A release];A=nil; #define StrFromFloat(F) [NSString stringWithFormat: @"%f", F] #define StrFromInt(I) [NSString stringWithFormat: @"%d", I] #define NumFromBOOL(B) [NSNumber numberWithBool: B] #define NumFromInt(I) [NSNumber numberWithBool: I] #define NumFromDouble(D) [NSNumber numberWithDouble: D] #define FormatStr(fmt, ...) [NSString stringWithFormat:fmt, ##__VA_ARGS__] #define DLog(A) NSLog((@"%@(%d): %@"),[[NSString stringWithFormat:@"%s", __FILE__] lastPathComponent], __LINE__, A) #define DLogF(fmt, ...) NSLog((@"%@(%d): " fmt),[[NSString stringWithFormat:@"%s", __FILE__] lastPathComponent], __LINE__, ##__VA_ARGS__) #define FirstObjectOfArray(A) ([A count]>0)?[A objectAtIndex: 0]:nil //debug stuff #define ShowCurrentPosition NSLog(@"\n Function: %s\n Pretty function: %s\n Line: %d\n File: %s\n Object: %@",__func__, __PRETTY_FUNCTION__, __LINE__, __FILE__, button) #define ShowCurrentLocation NSLog(@"Current selector: %@, Object class: %@, Filename: %@", NSStringFromSelector(_cmd), NSStringFromClass([self class]), [[NSString stringWithUTF8String:__FILE__] lastPathComponent]) #define ShowStackSymbols NSLog(@"Stack trace: %@", [NSThread callStackSymbols]) //dictionatry 取值NULL处理, 为空的话用给定的defultValue作为默认值 #define DicValueForKey(dic,defultValue,key) [[dic objectForKey:key] class] == [NSNull class] ? defultValue : [dic objectForKey:key]
相关文章
- 记dynamic的一个小坑 -- RuntimeBinderException:“object”未包括“xxx”的定义
- 获取一个容器的宽
- 在同一个类中,一个方法调用另外一个有注解(比如@Async,@Transational)的方法,注解失效的原因和解决方法
- Java核心技术卷I基础知识3.1 一个简单的Java应用程序
- 一个技术创业者的自白--2019年那些成功或失败的项目(一)
- 《HTML5 开发实例大全》——1.25 使用< object >元素在网页中显示一个Flash
- Python开发一个《真三国无双20th纪念》人物羁绊计算器
- Delphi调用爷爷类的方法(自己构建一个procedure of Object)
- [python]python 遍历一个list 的小例子:
- 使用socket编程实现一个简单的文件服务器
- 做一个略调皮的个人主页--菜单篇
- STM32之从零开始构建一个工程
- spring-redis-data的一个坑
- 每天一个linux命令(19):Linux 目录结构
- 一个利用“永恒之蓝”漏洞传播的挖矿程序分析