一句话笔记,某段时间内遇到或看到的某个可记录的点。 2016-12-5
- 1、图片背景的气泡的做法
- 2、获取 NSURL 字符串后的参数
- 3、BOOL / bool / Boolean 的区别
1、图片背景的气泡的做法
- 准备一张气泡效果的背景图,然后将这个气泡图做成一个layer实例,并且通过contentCenter或者contentRect拉伸至我们需要展示的UIImageView大小
- 将做好的layer实例赋给UIImageView
- 再将imageview赋上图片就行了
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(100, 100, 100, 150)];
CAShapeLayer *layer = [CAShapeLayer layer];
layer.frame = imageView.bounds;
layer.contents = (id)[UIImage imageNamed:@"chat"].CGImage;
layer.contentsCenter = CGRectMake(0.5, 0.5, 0.1, 0.1);
layer.contentsScale = [UIScreen mainScreen].scale;
imageView.layer.mask = layer;
imageView.layer.frame = imageView.frame;
imageView.image = [UIImage imageNamed:@"testImage"];
[self.view addSubview: imageView];
2、获取 NSURL 字符串后的参数
情景:有时我们需要快速获取一段 URL 字符串后的参数值
第一反应做法: 通过截取字符串,来判断,但真的感觉有点龊
寻找苹果API : NSURLComponents、NSURLQueryItem, 然后类似下面这样就解决了。
NSString *urlString = @"https://www.example.com?name=qiuqiu&id=001";
NSURLComponents *components = [NSURLComponents componentsWithString:urlString];
[components.queryItems enumerateObjectsUsingBlock:^(NSURLQueryItem * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
NSLog(@"%@ == %@",obj.name,obj.value);
}];
// name == qiuqiu
// id == 001
来源我们组长的 开发获取NSURL字符串的参数
3、BOOL / bool / Boolean 的区别
而 Boolean 类型上是历史意义的类型, Boolean Mac OS historic type, sizeof(Boolean)==1。
对于我们来说,需要重点了解下 BOOL 和 bool 的区别:
- 1、类型不同
- BOOL为int型
- bool为布尔型
- 2、长度不同
- bool只有一个字节
- BOOL长度视实际环境来定,一般可认为是4个字节,它使用8位的存储空间。
- 3、取值不同
- bool取值false和true,是0和1的区别
- BOOL取值FALSE和TRUE,是0和非0的区别
bool test1 = 0;
bool test2 = 5;
BOOL test3 = NO;
BOOL test4 = 5;
从打印结果就可以更好的看出其区别,想想有时某些小细节还是很有用的。