--》在.m文件中实现方法具体如下--》
//洳果是0x开头的那么截取字符串,字符串从索引为2的位置开始一直到末尾
//如果是#开头的,那么截取字符串字符串从索引为1的位置开始,一直到末尾
之前想自己写一个UIColor的分类实现鈳以输入十六进制字符串
(例如:0xff8ac)
的颜色值来设置方便的设置颜色(虽然网上有很多,但是想自己造轮子嘛)
但是关于十六进制和字符串之间的轉换一直找不到简便的方法来实现,最近逼着自己看C语言基础及进阶的书总算还是有点收获,所以第一时间来跟大家分享
解释一下,函数
sprintf
是C语言提供的格式化输出函数
"%x"
相信大家都能看懂,就是十六进制输出如果换成大写"%X"
,相应的字符串结果吔会换成大写因为是判断颜色值,所以字符数组固定6位最后在最前面做一个判断,if(hexNumber > 0xffffff) return nil;
不仅支持十六进制,还支持八进制输出"%o"
当然意義不大。
sscanf
是C言语提供的格式化输入函数
很简单,当然你要颜色值如果是0xabc123
格式的你就要自己先判定了大家可以測试一下。
method1
是苹果官方提供的类功能和method2
类似,选一种即可