关于iOS知识的提升

这两天,看了一些关于tableView的优化机制。一个优化机制,学习到了很多以前不知道的知识。

感谢ibireme大神及其他人大神的分享,从他们那里我学到了什么叫runtime,runloop,什么是@interface,什么叫失帧。

原来以为学习iOS,只是扩展自己的知识,扩展到一些自己接触不到的地方。但是事实上,对一门语言的理解,并不局限于怎么用某一些API。

而是进入系统的底部,知道什么是CPU,GPU,cache,运算是使用CPU的运算器,图形渲染是GPU处理的。

了解线程的各种使用,原理,内存管理的机制。才能写出效率更高、更好的代码。

现在理解了为什么一个好程序需要一个架构师,不是每个人都懂得底层的原理,知道怎么样的设计才是最快最稳定的。

在一个很大的程序中,每个人的编码风格都不一样,只有规定了某样东西应该用这个方法来做,给大家树立一个正确的规范,不仅可以提高代码质量,

还便于管理。降低程序风险,并且下个人接替的时候也容易上手。

总之,在程序中,不是懂得多种语言就是大神,而是通过对一门语言的了解深度来判断。现在要做的,就是多去接触底层,而不盲目的追求所谓的广泛。

因为,底层的东西才最难懂,最难深入。

一切的提升都需要目标来支撑,一切的学习动力都要有目的来提供。在为什么而奋斗着,想到得到什么,如果不明确,也只是看起来很努力罢了。加油。

时间: 2024-11-08 22:48:19

关于iOS知识的提升的相关文章

iOS知识树,知识目录(包括对象、Block、消息转发、GCD、运行时、runloop、动画、Push、KVO、tableview,UIViewController、提交AppStore)

本文旨在总结iOS知识网络,该知识网络罗列出常见UIKit,Foundation的对象特点和一些使用经验:文本编辑采用树的形式,对知识点进行罗列,并标注一些使用经验(★)希望对初学者有用或给一些解决疑难杂症者提供思路:某些知识点会深入探讨:通过总结希望站在一个较高平台的角度全观Objective-C.知识树中有些是原创文章,有些则是转载网络上iOS大神的文章.笔者会尽量详细的介绍各个知识点.当然一个人的知识面是相当有限的,在给各位读者提供知识参考的同时,欢迎大家对本文提意见. /->UIView

【iOS知识学习】_iOS Label添加删除线

在做优惠价格的时候需要用到删除线,但是网上的删除线千篇一律,都是大抄小抄,其实苹果的NSAttributedString就可以实现这一点啦. 代码如下: NSString *oldPrice = @"¥ 12345"; NSUInteger length = [oldPrice length]; NSMutableAttributedString *attri = [[NSMutableAttributedString alloc] initWithString:oldPrice];

【iOS知识学习】_iOS动态改变TableView Cell高度

在做tableView的时候,我们有时候需要根据cell的高度动态来调整,最近在网上看到一段代码不错,跟大家Share一下. 在 -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ 类中获取cell的高度: CGSize boundSize = CGSizeMake(216, CGFLOAT_MAX); cell.textLabel.text

iOS 知识-常用小技巧大杂烩

iOS 知识-常用小技巧大杂烩 1,打印View所有子视图 po [[self view]recursiveDescription] 2,layoutSubviews调用的调用时机 * 当视图第一次显示的时候会被调用 * 当这个视图显示到屏幕上了,点击按钮 * 添加子视图也会调用这个方法 * 当本视图的大小发生改变的时候是会调用的 * 当子视图的frame发生改变的时候是会调用的 * 当删除子视图的时候是会调用的 3,NSString过滤特殊字符 // 定义一个特殊字符的集合 NSCharact

【iOS知识学习】_int、NSInteger、NSUInteger、NSNumber的区别和联系

1.首先先了解下NSNumber类型: 苹果官方文档地址:https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSNumber_Class/Reference/Reference.html NSNumber是NSValue的一个子类,它是一个对象来存储数字值包括bool型,它提供了一系列的方法来存储char a signed or unsigned char, short

【iOS知识学习】_iOS沙盒机制

IOS中的沙盒机制(SandBox)是一种安全体系,它规定了应用程序只能在为该应用创建的文件夹内读取文件,不可以访问其他地方的内容.所有的非代码文件都保存在这个地方,比如图片.声音.属性列表和文本文件等. 1.每个应用程序都在自己的沙盒内 2.不能随意跨越自己的沙盒去访问别的应用程序沙盒的内容 3.应用程序向外请求或接收数据都需要经过权限认证 显示和隐藏文件夹的方法: 显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -

iOS 知识 - 常用小技巧大杂烩 - 转载

1,打印View所有子视图 po [[self view]recursiveDescription] 2,layoutSubviews调用的调用时机 * 当视图第一次显示的时候会被调用. * 添加子视图也会调用这个方法. * 当本视图的大小发生改变的时候是会调用的. * 当子视图的frame发生改变的时候是会调用的. * 当删除子视图的时候是会调用的. 3,NSString过滤特殊字符 // 定义一个特殊字符的集合 NSCharacterSet *set = [NSCharacterSet ch

iOS App性能提升的技巧

原文引用https://www.dazhuanlan.com/2019/08/26/5d62f6f027452/ / OPTIMIZATION 从25 iOS App Performance Tips & Tricks翻译了部分提高app性能的技巧 中阶性能提升建议 9)复用和延迟加载 更多的视图意味着更多的绘制,这些最终意味着更多CPU和内存的开销.在通过UIScrollView展示很多视图时开销尤为明显. 因此,效仿UITableView和UICollectionView的思路,并不在一开始

WKWebView针对于Cordova的IOS平台性能提升

使用cordova做跨平台开发已久,针对于Android的性能与页面渲染问题仍然让人头疼,因为仍然有一部分人使用性能一般的手机,版本在 4.2-4.4之间,甚至都无法支持HTML5的flex布局,使得我们不得不使用crosswalk以增强我们的webview,但是它给我们带来的确 实使得安装包大了将近20M.话说回来cordova在iPhone6运行真是神速,但是针对于IOS仍然会有一大部分人使用iPhone4系列或者 iPhone5系列,在这些手机上确无法与iPhone6比及,现在WKWebV