iOS开发笔记(一)

原创 2016年05月31日 22:40:09

   这是本人在开发中简单整理的iOS笔记,有点凌乱吧  哈哈。不过内容简单易懂  希望你能喜欢。微笑微笑

1、内存

内存溢出:内存不够用,数据溢出

内存泄漏:该释放的对象没有释放


2、性能检测方法

静态分析:product—>Analyze

动态分析:product—>profile



3、多线程安全解决方法和线程控制

 >只在主线程刷新UI界面

 >防止资源抢夺 使用synchronize加锁

 >异步操作 尽量使用GCD


4、iOS应用数据存储的常用方式

 >属性列表归档(plist)

 >偏好设置(NSUserDefault)

 >NSKeyedArchiver或NSKeyedUnArchiver<NSCoding>

 >SQlite3(第三方FMDB)

 >CoreData



5、默认情况 模拟器的目录是隐藏的,要想显示出来,需要在mac终端输入下面指令:

   显示mac隐藏文件的指令:defaults write com.apple.finder AppleShowAllFiles YES

  隐藏mac隐藏文件的指令: defaults write com.apple.finder AppleShowAllFiles NO

  最后还要强制退出 重新启动finder



6、定时器

NSTimer:一般用于定时更新非界面的数据 如歌词进度 歌曲播放进度等

CADisplayLink:适用刷一帧界面,默认每秒60次


>NSTime用法

self.timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector() userInfo:nil repeats:YES];

    [[NSRunLoop mainRunLoop] addTimer:self.currentTimeTimer forMode:NSRunLoopCommonModes];

CADisplayLink用法

self.timer = [CADisplayLink displayLinkWithTarget:self selector:@selector()];

 [self.timer addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSRunLoopCommonModes];



7、设置View.layer阴影的要素

 > 设置颜色shallowColor

 > 设置偏移位shallowOffset

 > 设置透明度shallowOpaCity 

 

8、判断设备系统的版本号

[[UIDevice currentDevice].systemVersion doubleValue]



9、如果想要删除UITableViewCell里的cell的删除,手指在cell上面测滑实现删除

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath;


10、iOS中的事件可分三大类型

> 触摸事件

> 加速计事件

> 远程控制事件

另外事件的产生和传递:触摸事件的传递是从父控件传递到子控件,如果父控件不能接收触摸事件,那么子控件就不可能接收到触摸事件

事件传递是从父控件传递到子控件:UIApplication—>UIWindow—>合适的子控件



11、图片下载方式imageWithcontentsOfFile:和imageNamed:的区别

> imageWithcontentsOfFile:这个方法加载的图片不会有缓存,适用适合用来加载大图片、一次性的图片(使用频率较低)

> imageNamed:这个方法加载的图片有缓存、适合用来加载小图片、使用频率比较高的图片

另外小图片建议应该放在Images.xcassets中;大图片建议放在Supporting Files中  


12、给navigation bar设置title颜色

    UIColor *orange = [UIColor orangeColor];

    NSDictionary *dict = [NSDictionary dictionaryWithObject:orange forKey:NSForegroundColorAttributeName];

    [self.navigationController.navigationBar setTitleTextAttributes:dict];

13、KVC修改textField的placehold的字体颜色、大小

    self.textField.placeholder = @"i am moti";

    [self.textField setValue:[UIColor orangeColor] forKeyPath:@"_placeholderLabel.textColor"];

    [self.textField setValue:[UIFont boldSystemFontOfSize:17] forKeyPath:@"_placeholderLabel.font”];


14、收键盘(结束编辑界面)

>[self.view endEditing:YES]

>[[[UIApplication sharedApplication] keyWindow] endEditing:YES];


15、第三方框架FMDB报错  "_sqlite3_bind_blob", referenced from:

      -[FMDatabase bindObject:toColumn:inStatement:] in FMDatabase.o

必须导入sqlite3.dylib到framwork中


16、修改statusbar文字颜色

在iOS7以上状态栏的字体颜色默认是黑的 如果想要改变其字体颜色 必须现在项目的info.plist添加并设置View controller-based status bar appearance ,然后可以在appDelegate中添加代码:[application setStatusBarStyle:UIStatusBarStyleLightContent];  状态栏的样式有两个是过期的

    UIStatusBarStyleBlackTranslucent NS_ENUM_DEPRECATED_IOS(2_0,7_0,"Use UIStatusBarStyleLightContent") =1,


    UIStatusBarStyleBlackOpaque      NS_ENUM_DEPRECATED_IOS(2_0, 7_0, "Use UIStatusBarStyleLightContent") = 2,

17、iOS运行时想要隐藏status bar

要隐藏status bar必须在info.plist中添加Status bar is initially hidden 并设置为YES属性

如果有什么可以值得探讨的 欢迎一起交流:

如果有什么好的建议,请联系虾米,虾米感激不尽 蟹蟹 哈!!微笑微笑

虾米联系方式:

QQ:584837022

github:https://github.com/ios-cjh


版权声明:本文为博主原创文章,未经博主允许不得转载。

ios开发学习笔记(这里一定有你想要的东西,全部免费

1,Search Bar 怎样去掉背景的颜色(storyboard里只能设置background颜色,可是发现clear Color无法使用)。 其实在代码里还是可以设置的,那就是删除背景view [...
  • mad1989
  • mad1989
  • 2012年09月12日 21:01
  • 111094

ios开发笔记

  • 2012年11月23日 14:53
  • 795KB
  • 下载

iOS开发笔记 - 工具篇

工欲善其事,必先利其器。作为一个合格的iOS开发者,熟练的使用各种开发或辅助开发的工具也算是一项必备技能吧,下面是我整理的一些工具及其应用场景和使用方法。...
  • jackfrued
  • jackfrued
  • 2016年03月03日 11:07
  • 4315

分享一下自己ios开发笔记

// ********************** 判断数组元素是否为空 ********************** NSString *element = [array objectAtIndex...
  • playerlife
  • playerlife
  • 2016年04月20日 08:14
  • 1414

IOS开发笔记

此贴会经常更新添加新内容,敬请关注!       首先给出IOS开发常用开源代码和第三方库:http://www.cocoachina.com/applenews/devnews/2013/0128/...
  • mawentao728
  • mawentao728
  • 2013年03月09日 16:21
  • 2060

iOS开发笔记(一)

这是本人在开发中简单整理的iOS笔记,有点凌乱吧  哈哈。不过内容简单易懂  希望你能喜欢。 1、内存 内存溢出:内存不够用,数据溢出 内存泄漏:该释放的对象没有释放 2、性能检测方法 静态分析...
  • ios_cjh
  • ios_cjh
  • 2016年05月31日 22:40
  • 739

iOS开发笔记 - 网络篇

对iOS应用开发中应用程序如何通过网络获取资源进行了详细的阐述。
  • jackfrued
  • jackfrued
  • 2016年03月20日 18:14
  • 6564

iOS面试那点事

我在面试中遇到的一些问题 希望分享出来对大家有用1、题目:求1+2+…+n, 要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)。其...
  • Edison_hou
  • Edison_hou
  • 2016年05月20日 17:20
  • 452

《iOS开发笔记—多线程(一)》

线程间通信:在1个进程中,线程往往不是孤立存在的,多个线程之间需要经常进行通信   线程间通信的体现 1个线程传递数据给另1个线程 在1个线程中执行完特定任务后,转到另1个线程继续执行任务   线程间...
  • hzyfjpt_
  • hzyfjpt_
  • 2016年09月06日 14:46
  • 85

ios开发笔记

  • 2015年08月17日 17:16
  • 5.96MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS开发笔记(一)
举报原因:
原因补充:

(最多只允许输入30个字)