首页 > 其他 > 详细

花式ERROR产品样本——OC部分(持续更新)

时间:2015-01-17 12:29:20      阅读:281      评论:0      收藏:0      [点我收藏+]

这个是我们学习OC过程中出现的各种奇怪ERROR,具体ERROR分类还没想好,先做成合集吧。

当然 我会尽量回忆学习C时出现的ERROR,也做一个合集。

 

第一个ERROR

form:旗木*卡卡西

require:定义?个block,返回值为NSInteger,有两个参数,?个是 NSArray,?个是NSString。实现:判断数组时候包含此字符串,如果包含,返回字符串的下标,如果不包括,返回-1。

代码:

1 typedef NSInteger (^judge)(NSString*,NSArray*);
2 judge j = ^(NSString *str,NSArray *arr)
3     {
4         if ([arr containsObject:str]) {
5             return 1;
6         }else {
7             return -1;
8         }
9     };

错误信息:

Incompatible block pointer types initializing ‘__strong judge‘ (aka ‘NSInteger (^__strong)(NSString *__strong, NSArray *__strong)‘) with an expression of type ‘int (^)(NSString *__strong, NSArray *__strong)‘

分析:

先不考虑是否满足需求。问题出现在类型不匹配上,定义block时要求返回值类型为NSInteger,return返回值的默认类型为int,所以会出现上述错误。

另外还注意到了__strong修饰符(标准的叫法是这个吗?),不知道是干什么的,先留个坑,以后填上。

花式ERROR产品样本——OC部分(持续更新)

原文:http://www.cnblogs.com/fantasia86/p/4230239.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!