iOS 12.0 beta 版 SDWebImage 无法显示webp图片 (SDWebImage Cannot display WebP image on iOS 12.0 beta)


问题:

iOS12 beta版本使用SDWebImage下载webp后,无法显示。 联调发现-sd_rawWebpImageWithData:返回nil,图片解码decoding时失败,此问题影响的是真机,在iOS12的模拟器可正常显示。

在SDWebImage的Github页面找到了解决方案: 其他开发者提到问题#2347 此问题由DreamPiggy#2348中解决

解决方法:

通过SDWebImage的Releases可以看到在4.4.1版本解决了webp不能显示的问题,那么我们只需要修改podfile即可:

pod 'SDWebImage', '~> 4.4.1'

备...

Read more

Mac 爬虫error: chromedriver' executable needs to be in PATH


安装selenium

pip install selenium

Mac 下使用selenium打开一个空的浏览器窗口:

from selenium import webdriver
driver = webdriver.Chrome()

报错:

selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home

解决...

Read more

Mac上 Python安装Pillow问题


问题

安装 pip install Pillow==3.3.0 的时候出错

ValueError: zlib is required unless explicitly disabled using --disable-zlib, aborting

原因是pillow在3.0以上的版本需要有依赖库, libjpegzlib

解决方法 :

打开mac的终端, 安装brew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

通过brew安装li...

Read more

解决Python3 控制台输出InsecureRequestWarning的问题


问题:

使用Python3 requests发送HTTPS请求,已经关闭认证(verify=False)情况下,控制台会输出以下错误:

InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings

解决方法:

在代码中添加以下代码即可解决:

  • Python3添加如...

Read more

iOS 图片和视频base64编码后上传服务器


图片和视频方式相同,都是用data进行转换,所以实例中只展示了图片的代码

UIImage图片转成Base64字符串

UIImage *originImage = [UIImage imageNamed:@"icon.png"];
NSData *data = UIImageJPEGRepresentation(originImage, 1.0f);
NSString *encodedImageStr = [data base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];

Base64字符串转UI...

Read more

iOS UICollectionViewCell的选中及高亮效果


iOS UICollectionViewCell的选中及高亮效果, 需要实现UICollectionViewDelegate方法

// 当cell高亮时返回是否高亮
- (BOOL)collectionView:(UICollectionView *)collectionView shouldHighlightItemAtIndexPath:(NSIndexPath *)indexPath {
    return YES;
}

/// 高亮时设置颜色
- (void)collectionView:(UICollectionView *)colView didHighlightItem...

Read more

iOS指定圆角的位置


使用CAShapeLayerUIBezierPath设置圆角

UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];

    imageView.image = [UIImage imageNamed:@"ingq"];

    UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:imageView.bounds byRoundingCorners:UIRectCornerAll...

Read more

苹果市值破万亿美元,Tim Cook给员工的信


苹果公司上周四创造了历史,成为美国第一家达到1万亿美元市值的公司。首席执行官蒂姆-库克写了以下电子邮件给员工:

团队,

今天,Apple通过了一个重要的里程碑。我们的收盘价达到207.39美元,股票市值超过1万亿美元。虽然这是一件非常值得骄傲的事情,但这并不是衡量我们成功的最重要指标。财务回报仅仅是Apple创新的结果,我们要把产品和客户放在第一位,并始终忠于我们的价值观。

是你,是我们的团队,让Apple变得伟大。我们的成功归功于你的辛勤工作,奉献精神和热情。我为你所做的工作而深感谦卑,与你并肩工作是一生的幸运。我想从最深处感谢你们所有人的加班和额外的差旅,你们总是拒绝满足于平庸的结果...

Read more

Python迭代器(Iterator)


概述

迭代器是访问集合元素的一种方式。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。

  • 延迟计算或惰性求值 (Lazy evaluation)

    迭代器不要求你事先准备好整个迭代过程中所有的元素。仅仅是在迭代至某个元素时才计算该元素,而在这之前或之后,元素可以不存在或者被销毁。这个特点使得它特别适合用于遍历一些巨大的或是无限的集合。

  • 可迭代对象

    迭代器提供了一个统一的访问集合的接口。只要是实现了iter()或getitem()方法的对象,就可以使用迭代器进行访问。

  序列:字符串、列表、元组

  非序列:字典、文件

  自定义类:用...

Read more