码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-01-17 12:30:58      阅读:199      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!