- 八大排序算法
冒泡排序算法
算法原理
- 比较相邻两个数。如果前一个数大于后一个数,就交换它们。
- 对每一对相邻的元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
- 针对所有的元素重复以上的步骤,除了最后一个。
- 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
集成时要注意有两个版本,一个 Swift (SCLAlertView) 的,一个 Objective-C (SCLAlertView-Objective-C) 的。
支付宝也在用的一个框架:ios-custom-alertview
char
、short
、int
、float、double
、BOOL
或指向结构的指针等基础数据类型,则可以先将这些基本数据类型封装成 NSNumber 对象,再存入集合对象。 Bugly 官网
腾讯 Bugly,为移动开发者提供专业的异常上报和运营统计,帮助开发者快速发现并解决异常,同时掌握产品运营动态,及时跟进用户反馈。
最近 iOS 项目中集成了 Bugly ,集成该框架的过程中,90% 的问题通过仔细阅读 Bugly 官方文档 都可以解决。
💡 本文并不会教你如何注册申请 Bugly 帐号,也不会教你如何集成 Bugly SDK,因为官方文档是最权威的,这里只是记录几个注意点(传说中的坑!)。
动态改变 webview 的 frame 以达到 webview 刚好填充 contentSize 的效果
// 在Y方向给contentSize足够的空间
_webView.scrollView.contentSize = CGSizeMake(self.view.bounds.size.width, MAXFLOAT);
// 加载本地HTML数据
[_webView loadHTMLString:html baseURL:nil];
// web视图加载完成
- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation {
// 在加载完毕之后获取webview内容所需要的空间
CGSize size = [webView sizeThatFits:CGSizeMake(self.view.bounds.size.width, MAXFLOAT)];
CGRect frame = CGRectMake(0, 0, size.width, size.height);
webView.frame = frame;
// 调整好frame之后再调整contentSize
webView.scrollView.contentSize = CGSizeMake(0, 0);
}