算法
郏国上
Object C, JavaScript, python高级研发工程师
展开
-
非标准h5字符串的WKWebView展示前的解析与插入属性或标题头与解决WKWebView无法加载视频首帧问题
WKWebView加载h5中有视频链接,无法加载视频首帧,看到一片空白和一个播放按钮。那如何让它加载首帧图片呢?很简单在视频链接前加上`controls=\"controls\" autoplay=\"autoplay\"`。因为是含有非标准h5字符串,可能只返回一个字符串,由于没有设置字体WKWebView直接显示默认字体可能很小,完全达不到ui图的效果,只能增加头设置字体来搞定了。原创 2022-04-07 16:57:54 · 1668 阅读 · 0 评论 -
UITextView实现图片、视频和表情与插入删除和删除。
表情是特殊的串。通过UITextView插入NSTextAttachment来显示图片。很不幸NSTextAttachment只能展示图片,不能展示视频。可以通过类继承来实现把视频链接存入它的子类,展示只能按照视频的首帧图展示。视频的和图片的上产可以通过第三方组件LFImagePickerController选择视频和图片,视频可以可以拿到视频的首帧图和NSData类型的视频数据。把视频或图像上传服务器,服务器返回它的地址。最后解析attributedText组装h5格式字符串发送给服务器。原创 2022-04-07 16:03:29 · 1328 阅读 · 0 评论 -
删除有序数组中的重复项。要求空间复杂度O(1),++时间复杂度O(n)
删除有序数组中的重复项。要求空间复杂度O(1),++时间复杂度O(n)示例+1:输入:+[1,1,2]输出:+[1,2]示例+2:输入:+[0,0,1,1,1,2,2,3,3,4]输出:+[0,1,2,3,4]不啰嗦直接上具体算法代码:-(NSMutableArray *)cancelRepeatWithArr:(NSMutableArray *)arr{ NSLog(@"过滤前 arr:%@",arr); if(arr && [arr isKindOfCl原创 2021-11-10 10:45:43 · 1927 阅读 · 0 评论 -
实现一个标准数字字符串四舍五入截取不指定位数的小数
实现一个标准数字字符串四舍五入截取不指定位数的小数两种算法:1.乘以10的指定位数幂次方,然后用系统四舍五入函数去掉小数位数),然后转成字符串,截取拼接字符串;2.转成double类型(注意不能是float类型,很容易越界)加上乘以10的指定位数加1的幂次方。然后转成比较多位数的字符串,最后截取字符串。原创 2021-11-06 14:33:32 · 268 阅读 · 0 评论 -
把键值对的值为NSNumber类型的数据转换成标准字符串
苹果客户端接到后台的数据,要转换成对象,然后才能使用。而有的初学者或比较懒的人可能直接那后台放回的结果不进行对象转换直接使用,甚至无论是什么类型的数据都按照字符串处理,使用时再转换为数字等接口定义的类型。若后后台返回的是NSNumber类型,而这种懒惰性写法会直接造成闪退。最佳的解决方案是:客户端把后台返回数据通过MJExtension第三方库进行对象转换,不直接使用后台数据。iOS客户端在网络请求组件底层对接收的结果,扫描键值对的值是否是NSNumber类型,若是就转换成标准字符串。原创 2021-06-25 12:02:18 · 465 阅读 · 1 评论 -
浮点变量值为1.000000和1.0常量比较相等吗?
浮点变量值为1.000000和1.0常量比较相等吗?答案是不相等,这涉及是精确度的问题,并且这样的比较很费时间,最好不要这样比较。只需要两者差的绝对值低于一定的值就认为相等就可以了。 NSLog(@"progress = %lf, !self.buffered:%d, (progress == 1.0):%d",progress, !self.buffered, (progress == 1.0)); self.progress = progress;原创 2021-04-30 14:33:13 · 515 阅读 · 0 评论 -
对字典进行排序与为何需要对字典排序
字典是有序的,而字典键值对对应的地址存储是一个哈希表映射,是无序的。说字典是无序的显然是错误。如果我们需要一个签名来验证客户端或服务端的请求是否是伪造的。签名的产生规则是按照传给对方的参数顺序进行拼接并进行MD5编码。而客户端传给服务的参数都是通过给AFNetworking传递一个字典,由AFNetworking来进行参数的拼接。那么我们如何保证传递给服务端的参数顺序和我们拼接参数的顺序一致呢?这就需要对传递的参数字典进行排序。原创 2020-12-14 10:12:08 · 651 阅读 · 0 评论