11.自适应文本高度

 NSDictionary *attributes = @{NSFontAttributeName: [UIFont systemFontOfSize:]};

 CGRect rect = [text boundingRectWithSize:CGSizeMake(ViewWidth, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:attributes  context:nil];

 return rect.size.height;

12 iOS9 适配设置

实际上在Xcode 7中,我们新建一个iOS程序时,bitcode选项默认是设置为YES的。我们可以在”Build Settings”->”Enable Bitcode”选项中看到这个设置。

要么让第三方库支持,要么关闭target的bitcode选项。

13.   iOS9 HTTPs转HTTP

 <key>NSAppTransportSecurity</key>

     <dict>

         <!--Connect to anything (this is probably BAD)-->

         <key>NSAllowsArbitraryLoads</key>

         <true/>

     </dict>

14.截取字符串

[str substringFromIndex:6];

substringWithRange:NSMakeRange(4,2)截取字符串的一部分,从第4位开始,截取两位

substringToIndex: n截取到第几位

(substringFromIndex:n)字符串从第n 位开始截取,直到最后

16.NSScanner: nil string argument

错误原因是我们在调用某个方法的时候,传入了一个空字符串(注意区别于字符串内容为空)作为方法参数。

我从服务器上获取某字符串数据,考虑到有些对象不含这个字符串变量,我在使用时先判断该字符串是否为空,例如:

假设,这个字符串名叫str,

先判断if(str!=nil){

//do something

double data=[str doubleValue];

}

但是,当数据为空时依旧报错,

苹果官方文档时,有这么一个代码:

  1. id aValue = [arrayWithNull objectAtIndex:0];
  2. if (aValue == nil) {
  3. NSLog(@"equals nil");
  4. } else if (aValue == [NSNull null]) {
  5. NSLog(@"equals NSNull instance");
  6. if ([aValue isEqual:nil]) {
  7. NSLog(@"isEqual:nil");
  8. }
  9. }
  10. // output: "equals NSNull instance”

虽然最后我的问题解决了,我在if判断中用

  1. if(![tmpNewsModel.latitude isEqual:[NSNull null]]){
  2. //do something
  3. }

问题是解决了,但是还不太理解nil和NSNull的区别?

17.iphone 尺寸

18.修改mac host文件

sudo nano /etc/hosts

同样是输入密码,打开 hosts 文件,根据你的需要对该文件进行编辑,编辑完毕之后按 ctrl+o 保存,

出现 File Name to Write: /etc/hosts 的时候按回车确认,再按 ctrl+x 退出即可。

19. IOS8 设置TableView Separatorinset 分割线从边框顶端开始

经过测试加入下面方法 在ios7 8上都可以正常工作

 -(void)viewDidLayoutSubviews

 {

     if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) {

         [self.tableView setSeparatorInset:UIEdgeInsetsMake(,,,)];

     }

     if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)]) {

         [self.tableView setLayoutMargins:UIEdgeInsetsMake(,,,)];

     }

 }

 -(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath

 {

     if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {

         [cell setSeparatorInset:UIEdgeInsetsZero];

     }

     if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {

         [cell setLayoutMargins:UIEdgeInsetsZero];

     }

 }

20.url   里面不能有中文字符,需转换否会请求出错

ios 写项目的时候遇到的问题及解决方案(2)的更多相关文章

  1. ios 写项目的时候遇到的问题及解决方案(3)

    22.看了苹果的文档,里面有这一句话:All launch images must be PNG files and must reside in the top level of your appl ...

  2. ios 写项目的时候遇到的问题及解决方案(1)

    1.解决headerView不随cell一起滚动的问题 解决方案:myHeaderView为自己创建的view加在tableHeadView上, self.tableView.tableHeadVie ...

  3. GitHub上有很多不错的iOS开源项目

    GitHub上有很多不错的iOS开源项目,个人认为不错的,有这么几个:1. ReactiveCocoa:ReactiveCocoa/ReactiveCocoa · GitHub:GitHub自家的函数 ...

  4. 【Java EE】从零开始写项目【总结】

    从零开发项目概述 最近这一直在复习数据结构和算法,也就是前面发出去的排序算法八大基础排序总结,Java实现单向链表,栈和队列就是这么简单,十道简单算法题等等... 被虐得不要不要的,即使是非常简单有时 ...

  5. 推荐大家在GitHub 上值得关注学习的 iOS 开源项目

    GitHub上有很多不错的iOS开源项目,和大家特别推荐以下几个项目: 1. ReactiveCocoa GitHub链接:ReactiveCocoa/ReactiveCocoa GitHub自家的函 ...

  6. iOS swift项目IM实现,从长连接到数据流解析分析之Socket

    iOS  swift项目IM实现,从长连接到底层数据解析分析之Socket 一:项目简介:  去年开始接手了一个国企移动项目,项目的需求是实现IM即时通讯功能. * 一期版本功能包括了:       ...

  7. [Android开发学iOS系列] iOS写UI的几种方式

    [Android开发学iOS系列] iOS写UI的几种方式 作为一个现代化的平台, iOS的发展也经历了好几个时代. 本文讲讲iOS写UI的几种主要方式和各自的特点. iOS写UI的方式 在iOS中写 ...

  8. iOS开源项目周报0105

    由OpenDigg 出品的iOS开源项目周报第四期来啦.我们的iOS开源周报集合了OpenDigg一周来新收录的优质的iOS开发方面的开源项目,方便iOS开发人员便捷的找到自己需要的项目工具等. He ...

  9. iOS开源项目周报1229

    由OpenDigg 出品的iOS开源项目周报第三期来啦.我们的iOS开源周报集合了OpenDigg一周来新收录的优质的iOS开发方面的开源项目,方便iOS开发人员便捷的找到自己需要的项目工具等. Ma ...

随机推荐

  1. GSM Hacking Part① :使用SDR扫描嗅探GSM网络

    0×00 写在开头 近期,发现Crazy Danish Hacker在YouTuBe发布了一个挺不错的教程视频:使用SDR嗅探监听GSM网络的通信流量(GSM Sniffing Teaser – So ...

  2. windows核心编程---第八章 使用内核对象进行线程同步

    使用内核对象进行线程同步. 前面我们介绍了用户模式下线程同步的几种方式.在用户模式下进行线程同步的最大好处就是速度非常快.因此当需要使用线程同步时用户模式下的线程同步是首选. 但是用户模式下的线程同步 ...

  3. linux命令:chmod

    1.命令介绍: chmod用来改变系统文件或目录的相关权限,可读,可写,可执行等. 2.命令格式: chmod [选项] 模式 文件 3.命令参数: 必要参数:-c 当发生改变时,报告处理信息-f 错 ...

  4. ios--个人资料修改

    点击进行编辑  (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *) ...

  5. dom扩展

    第十一章 DOM扩展 一.选择符API 1.querySelector()方法             接收一个CSS选择符,返回与该模式匹配的第一个元素,如果没有找到匹配的元素,返回null. 2. ...

  6. Razor视图引擎-基础语法

    所有以 @开头 或 @{ /* 代码体 */ }  (在@与{直接不得添加任何空格) 的部分代码都会被ASP.NET引擎进行处理. 在 @{ /*代码体*/ } 内的代码每一行都必须以";& ...

  7. WIN32服务程序(二):卸载服务

    卸载服务的过程是这样的,用OpenSCManager打开SCM,使用OpenService打开准备卸载的服务,通过QueryServiceStatus查询该服务的状态是否停止,如果否,则先停止该服务C ...

  8. Python 基礎 - 字典的操作使用

    接下來介紹字典,這在未來工作上,會是很常使用的,就來好好了解一下唄- 字典是一個 key(鍵)-value(值) 的數據類型,可以儲存很多訊息 #!/usr/bin/env python3 # -*- ...

  9. hibernate persist update 方法没有正常工作(不保存数据,不更新数据)

    工程结构 问题描述 在工程中通过spring aop的方式配置事务,使用hibernate做持久化.在代码实现中使用hibernate persit()方法插入数据到数据库,使用hibernate u ...

  10. Tomcat笔记

    总体架构: 由三部分组成:Service.Connector.Container 多个Connector对应一个Container,构成一个Service 为Service提供一个生存环境 如何处理多 ...