//大全

//读取数据库数据

-(void)movethesqlitefile{

NSString *sourcepath=[[NSBundle mainBundle]pathForResource:@"database" ofType@"sqlite"];

NSLog(@"===================================%@",sourcepath);

NSFileManager *filemanager=[NSFileManager defaultManager];  

NSString *documentsDirectory= [NSHomeDirectory()stringByAppendingPathComponent:@"Documents"];

NSString *topathstr=[NSString stringWithFormat:@"%@/database100.sqlite", documentsDirectory];

NSError *error=nil;

if (![filemanager fileExistsAtPath:topathstr])

{

if ([filemanager copyItemAtPath:sourcepath toPath:topathstr error:&error] != YES)

{

NSLog(@"---------Unable to copy file: %@", [error localizedDescription]);

}

else

{

NSLog(@"移动成功");

}

}

else 

{

NSLog(@"文件存在");

}

}

//根据字符串得到新的长度

NSString *value=text.text;

//根据字符串得到新的长度

CGSize size = [value sizeWithFont:[UIFont boldSystemFontOfSize:15]constrainedToSize:CGSizeMake(4500.0f100000)lineBreakMode:UILineBreakModeCharacterWrap];

label.frameCGRectMake(0.0f61.0f, size.width, size.height);//显示字符串的label

label.text=value;

[text resignFirstResponder];

错误总结

incompatible pointer types assigning to 'h' from 'h2'

不兼容的指针类型 赋值给“h”从“h2”

下面要的错误一定要尽量避免,否则发生了就不容易发现。

BooL型在porperty描述的时候一定要用assign

NSString类型描述使一定要用copy且只有着一个,NSMutableString描述时用还用retain,delegate描述时用assign。其他的非基本类型描述的时候都用retain,描述基本类型的时候用assign

#define  时后面不加分号

@class  时后面加分号。

当进行调试 的时候除了用断点调试外,还可以用断言。详细见sqlit

 NSAssert([nameSection count]>0, @"[nameSection count]");

当拖拉的控件中有UITableVIew或者UIPickerVIew的时候,一定要把它的delegate和dataSource连接起来,并且在类中实现代理方法,不然运行的时候会出现系统崩溃的现象。

当出现系统崩溃时,如果没有提示明显的错误,则有两个可能

1,内存释放过度,早成内存泄露

2,在打印输出或者stringformate时,格式化字符串的格式写错了。

一定要记得 当对bool型进行输出或者格式化的时候一定要用%d。因为bool型的本质是输出0和1。

总的来讲是打印输出错误,所以要把所有的打印输出注释掉。

当点击按钮,按钮上添加的事件不能触发时。一,方法写错;二,按钮所在的视图被设置为不可交互的。

BOOL型默认为NO,即0;

Local declaration of 'm' hides instance variable

本地关于m的声明隐藏了实例变量

错误原因:.h声明了一个变量,在.m的方法里又声明

Control reaches end of non-void function

返回值不为空的方法到结束时还没有return

instance variable 'name' accessed in class method

实例变量名'name‘ 在一个“类方法”(+号方法)里被使用。

原因:静态方法访问了非静态属性(.h声明的那些属性)即这个方法是加号方法却使用了变量。

People may not respond to '-ok'

People这个类不能够响应 ok这个方法

seg undeclared(first use in this function)

seg没有声明(第一此在这个方法里使用)

警告:1,incomplete implementation of class “WidgetAppDelegate”

//没有完成这个名字叫“WidgetAppDelegate”这个类的实现,

2,Method definition for “-segmentControl” not found

//针对 segmentControl这个方法的定义居然没有找到

错误原因:比如.h声明一个方法,但在.m中没有将其实现

case CNTAG:     expected ':' or '...' before ';' token  这个错误的原因是因为 CNTAG宏定义的时候后面加了分号。

incompatible Objective-c types  'struct UIImage *', expected 'strct UIView *'

不兼容的Objectvie-c语法类型, “UIImage *”表示这个指针的类型UIImage不兼容

需要是UIView指针类型。

Uncomplement  MainViewController   警告,并且警告标识在结尾的@end处,是因为在。h中定义了属性或者方法,但是在。M中却没有使用。

在声明协议的时候,提示cannot find  protocol declaration for 'CustomAlertViewDelegate'   是因为在两个view相互导入造成交叉导入。详细见5。13号课程。

Object cannot be set -either readonly property or no setter  found;是因为没有进行property和systhesize描述,或者是属性名写的不一致。

Unrecoginised selector sent to instance  ox6c11060  控制台报这个错误,表示对象调用了一个不能识别的方法。

-[UIView setImage:forState:]: unrecognized selector sent to instance 0x4b602a0 

  这个错误是因为  获取的tag值和按钮设置的tag值不一样。这个错误是因为获取的第一个tag值是0,而tag值为0,表示要从根视图view上面开始查找。并且调用方法。而

[currentBtn setImage:img forState:UIControlStateNormal];调用的方法是根视图所没有的。

[NSCFString count]: unrecognized selector sent to instance 0x93ac'

即一个对象调用了它没有的方法:原因有1,没有这个方法即方法名写错了,或者方法没有实现,2,调用此方法的对象没有这个方法。

或者是 调用该方法的对象获取错误。

如果给一个变量赋值然后报警告,则是因为在对基本型声明变量的时候加了*号。

此时解决的办法是调用下面的方法:

(BOOl)instancesRespondToSelector:selector   用来判断指定的类型实例时是否响应selector方法。

[__NSArrayI objectAtIndex:]: message sent to deallocated instance 0x4e6aff0

这个错误是因为在声明数组的时候没有对数组进行retain,造成系统崩溃。

_shengxiaoArray  = [[NSArray arrayWithObjects:@"鼠",@"牛",nilretain] ;

因为 shengxiaoArray属性在它声明的方法之外还要使用。所以必须进行retain。如果只在一个方法中使用,可以不用retain。也不会报错。

 -[NSArray objectAtIndex:]: index 4294967295 beyond bounds [0 .. 11]'

数组越界。

原因有以下:1,可能是调用此数组的对象写错了,或者是不能调用这个数组。

2,数组越界。NSArray不单指文件中出现的NSArray,也可以指NSArray的对象。

当进行输出打印的时候如果系统并没有进行输出打印不再往下执行,并且在控制台也没有提示什么错误。这可能是因为打印输出的时候,输出的类型写错了。

当点击一个按钮发现没有作用时,可能有两个原因:1,如果是拖拉的控件,没有进行关联;如果是写的代码,按钮没有调用target方法;2,方法没有被调用 ;3 ,target后面是self参数写错了,或者没有写。也就是说没有调用者调用方法。

WARNING: Using legacy cell layout due to delegate implementation of tableView:accessoryTypeForRowWithIndexPath: in <TableTestViewController: 0x4e71400>.  Please remove your implementation of this method and set the cell properties accessoryType and/or editingAccessoryType to move to the new cell layout behavior.  This method will no longer be called in a future release.

报这个警告的原因是所使用的方法相对于模拟器的版本有些过时。

Excepted specifier-qualifier-list before 'Detail'  这个错误是因为没有把头文件导入到。H文件中。

[_array removeObjectAtIndex:[indexPath.row]];Excepted ':' before ' ] ' token这个错误是因为[indexPath.row] 中多了一个[]号,因为[]中一般都是对象调用方法,而不是调用属性。而此处需要传递的是一个数。所以修改如下

[_array removeObjectAtIndex:indexPath.row]或者

[_array removeObjectAtIndex:[indexPath.row]];

当拖动单元格的表出现很卡的现象,可能 是因为在创建单元格的时候有些可以放到if(cell == nil)中的语句,却放到了if语句外边,这样的话导致每次都要执行单元格上面显示的内容,比较浪费内存。如果放到if语句内的话,在创建单元格的同时就 把这些内容也创建了,只执行一次。

Incompatible  Objective-C types  initializing 'struct  UITableViewCell *'  excepted 'struct  myCell*'   myCell不能初始化 UITableViewCell 所以要进行强制类转换,可以解决这个警告。

WriteToFile:atomically:  deprecated     这个警告表示所WriteToFile:atomically:

方法过期了,不过不影响程序。

Assignment makes pointer from integer without  a cast; 这个错误是没有标记无法将整型数转化为指针。  给变量赋的值和变量的类型不对,需要进行强制转换或者改变变量的类型,或者改变所赋的值。

Property 'number' with 'retain'  attribute  must be of object type  这个是因为int类型为基本型,在进行property描述的时候必须用assign。而不是retain,不过在进行描述的时候可以只用 property()括号内的东西可以省略。因为括号中的东西是提高性能。

 expected specifier-qualifier-list before 'ThreadTestViewController'

是因为头文件出现了交叉导入。在一个文件中写@class时格式如下:@class myThread;

 pointer targets in passing argument 1 of 'read:maxLength:' differ in signedness   报这个警告是因为类型不匹配。

loaded the "NQselectLanguageForMenue" nib but the view outlet was not set.'这个错误的原因是在xib中view视图没有进行关联。

 request for member 'nameLabel' in something not a structure or union   (cell.nameLabel.text = dish.name;)

这个错误的原因是用的是自定义的cell,但是在生成cell时却生成的是UITableViewCell 的cell,而不是自定义的cell。即错误的将下面声明cell对象的类写成了UITableViewCell.或者是两个类的名字相同。

NQmenueTableViewCell *cell = (NQmenueTableViewCell *)[tableViewdequeueReusableCellWithIdentifier:cellIdenifer];

当提示一些非正常性的错误时,例如本来是系统自动生成的方法却提示错误,可能是因为上面的一个方法少了一个大括号。

[UIBUttonLable   Model]: unrecognized selector sent to instance 0x4cba080';

-[NSCFString menuName]: unrecognized selector sent to instance 0x4cba080'

这个错误的意思是:一个字符串调用了一个对象,找不到这个方法。

 btn.btnMenuNameString = menuObj.menuName;  此处相当于调用了menuName的@synthesize方法即get方法。

 "_OBJC_CLASS_$_MovieInfo2", referenced from:

    objc-class-ref-to-MovieInfo2 in NQoneListViewController.o

ld: symbol(s) not found

 这是因为编译的时候没有把这个文件放到Targets-》CompeleSource下生成的编译文件中,所以只要把缺少的$_MovieInf。m文件直接拖到这个文件夹下即可

 

iOS开发常见错误(转)的更多相关文章

  1. iOS开发 常见错误

    一.NSAppTransportSecurity 错误提示:NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL ...

  2. iOS开发常见错误解决方法

    1.出现下面的错误: StoryboardApp[8593:207] Failed to instantiate the default view controller for UIMainStory ...

  3. IOS开发常见错误

    . 问题表现:什么情况?方法居然无法拉线? 问题简述:ios的空间拉线到一个.h .m文件中 居然多次拖动无效.. 问题解决:ios的空间响应单单在代码中创建一个方法是没用的,这个时候通常跟空间是没有 ...

  4. iOS开发——常见错误——使用MJRefresh返回上一个界面蹦掉的情况

    最近在使用MJRefresh框架时发现了一个bug 下面是我的源代码 前一个界面 -(void)tableView:(UITableView *)tableView didSelectRowAtInd ...

  5. IOS开发常见错误整理

    1.Cannot create an NSPersistentStoreCoordinator with a nil model 这是在执行到这段代码时引发的: - (void)viewDidLoad ...

  6. WCF分布式开发常见错误解决(1):An error occurred while attempting to find services at...添加服务引用出错

          WCF分布式开发常见错误解决(1):An error occurred while attempting to find services at...添加服务引用出错   当我们在客户端添 ...

  7. Java避坑宝典《Java业务开发常见错误100例》上线了

    写这个专栏的缘起 之前我写过一篇博客:<朱晔的互联网架构实践心得S2E2:写业务代码最容易掉的10种坑>,引起的关注还是挺多的.后来和极客时间的编辑一拍即合决定以这个为题写一个专栏.其实所 ...

  8. 开发常见错误解决(6)WSE3.0未处理的WebException,未处理的Web异常,基础连接以及关闭...

    开发常见错误解决(6)WSE3.0未处理的WebException,未处理的Web异常,基础连接以及关闭. 我们在调试WSE服务端服务的时候会抛出,未处理的Web异常,基础连接以及关闭的异常信息.如图 ...

  9. iOS开发常见BUG和一些小技巧(ps:耐心看完,很实用)

    [385][scrollView不接受点击事件,是因为事件传递失败] // // MyScrollView.m // Created by beyond on 15/6/6. // Copyright ...

随机推荐

  1. pandas操作,感觉不错,复制过来的

    整理pandas操作 本文原创,转载请标识出处: http://www.cnblogs.com/xiaoxuebiye/p/7223774.html 导入数据: pd.read_csv(filenam ...

  2. angular2学习资源汇总

    文档博客书籍类 官方网站: https://angular.io 中文站点: https://angular.cn Victor的blog(Victor是Angular路由模块的作者): https: ...

  3. ACM--素数距离问题

    题目描述:现在给出你一些数,要求你写出一个程序,输出这些整数相邻最近的素数,并输出其相距长度.如果左右有等距离长度素数,则输出左侧的值及相应距离.如果输入的整数本身就是素数,则输出该素数本身,距离输出 ...

  4. 一个简单的WeakList的实现

    有的时候,我们会使用到WeakList,它和传统的List不同的是,保存的是对象的弱应用,在WeakList中存储的对象会被GC回收,在一些和UI相关的编程的地方会用到它(弱事件,窗体的通知订阅等). ...

  5. 关于DNS,你应该知道这些

    在互联网时代中,如果要问哪个应用层协议最重要的话,我想答案无疑是DNS.虽然我们每天都享受着DNS服务带来的便利, 却对它往往知之甚少.因此本文就来介绍一下DNS协议的工作流程,真正认识一下这个支撑着 ...

  6. rem 自适应

    最近在写一个关于小说阅读的webApp,由于没有借用任何框架,所以很多底层的内容都需要自己去解决,幸好的是这次只是关于移动端的内容,还不至于去向着jquery的方向码代码.言归正传,前几天在处理底色切 ...

  7. Matlab与C++混合编程 编写独立外部应用程序时出现“无法定位序数3906于动态链接库LIBEAY32.dll上”错误

    出现“无法定位序数3906于动态链接库LIBEAY32.dll上”错误,这种错误一般是同名函数出现在两个不同的头文件中了. 笔者的这个错误是由于 #include "mat.h" ...

  8. spring集成redis,集成redis集群

    原文:http://chentian114.iteye.com/blog/2292323 1.通过spring-data-redis集成redis pom.xml依赖包 <project xml ...

  9. Node.js 连接mySQL程序

    环境:Oracle Enterprise Linux R5U7 安装mySQL 关于离线安装,下次在尝试,目前先来在线安装,过程如下: $ rpm -qa | grep -i mysql $ wget ...

  10. Git服务器分类

    目录(?)[-] 服务器上的 Git 协议 本地协议 优点 缺点 SSH 协议 优点 缺点 Git 协议 优点 缺点 HTTPS 协议 优点 缺点 在服务器部署 Git 将纯目录转移到服务器 小型安装 ...