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

这个是我们学习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修饰符(标准的叫法是这个吗?),不知道是干什么的,先留个坑,以后填上。

时间: 2024-07-31 14:21:24

花式ERROR产品样本——OC部分(持续更新)的相关文章

自己总结的 iOS ,Mac 开源项目以及库,知识点------持续更新

自己在 git  上看到一个非常好的总结的东西,但是呢, fork  了几次,就是 fork  不到我的 git 上,干脆复制进去,但是,也是认真去每一个每一个去认真看了,并且也是补充了一些,感觉非常棒,所以好东西要分享,为啥用 CN 博客,有个好处,可以随时修改,可以持续更新,不用每次都要再发表,感觉这样棒棒的 我们 自己总结的iOS.mac开源项目及库,持续更新.... github排名 https://github.com/trending,github搜索:https://github.

【20160612-20160618】记一周省常中训练(持续更新,欢迎催更)

挖坑,持续更新. #include <cstdio> using namespace std; int main(){ puts("转载请注明出处:http://www.cnblogs.com/wangyurzee7/"); puts("谢谢您的配合"); puts("by wangyurzee7"); return 0; } 20160611下午大概3点不到下火车,打车去宾馆.去学校转了一圈,在宾馆旁边吃了个晚饭,然后赶回去打计蒜之

(转)iOS开发——来改掉那些被禁用的方法吧(持续更新中)

iOS平台在快速的发展,各种接口正在不断的更新.随着iOS9的发布,又有一批老方法不推荐使用了,你若调用这些方法,运行的结果是没有问题的,但是会出现警告“***is deprecated :first deprecated in iOS 9.0 - Use *******”.就像如图所示: 在实际项目开发中,我们要秉承一个信念就是:要把每一个警告当做错误来处理,并解决每一个警告.你想想,你运行一个项目,就算运行成功了,但是出现几十个.甚至几百个黄黄的警告,心情是不是很糟糕呢?我将在这篇博客结合我

php 魔术方法总结(持续更新)

类中的魔术方法 PHP 魔术方法指的是在某些时刻会自动被调用的内置函数,它们以两个连续的下划线开头. 类中的魔术方法 __construct() 类的构造函数,用于初始化对象,在对象实例化时自动运行 __destruct() 析构函数,用于在 php 运行终止时,释放对象所占用的内存.析构函数是 php 的垃圾回收机制,使用栈结构,后进先出. 构造函数和析构函数的例子 class computer{     private $brand;     function __construct($br

GATK errors 及解决办法 (持续更新)

1, MESSAGE: Input files reads and reference have incompatible contigs: Relative ordering of overlapping contigs differs, which is unsafe.##### ERROR   reads contigs = [Chr1, Chr10, Chr11, Chr12, Chr2, Chr3, Chr4, Chr5, Chr6, Chr7, Chr8, Chr9, ChrSy,

android开发开源宝贝——持续更新。。。

2016年11月11日更新 http://www.apkbus.com/forum-417-1.html http://p.codekk.com/detail/Android/hejunlin2013/LivePlayback www.codekk.com https://github.com/Trinea/android-open-project Android 开源项目分类汇总 我们的微信公众号:codekk.二维码如下: 专注于 Android 开源分享.源码解析.框架设计.Android

Type Script在Visual Studio 2013中的问题汇总(持续更新…)

◆ TypeScript在vs2012下的问题 TypeScript对VS2012支持度比较低,建议升级为VS2013版本. ◆ 在VS2013中无法创建TypeScript项目 VS2013默认不支持TypeScript. 需要在[工具]-[扩展和更新]中安装TypeScript,目前为止(2015年9月16日)for VS2013的最新版TS为1.5版本,但是实测有一些问题,建议安装比较稳定的1.4版本 ◆ 编译提示“TypeScript\1.4\1.4\tsc.exe 无效”的问题 解决方

资源向导之 JOS 计划 #持续更新中# MIT 6.828

JOS 计划 #持续更新中# 童鞋,上网要科学上网,做lab也要科学的做. 之前我一上来就做实验,很多资料都不知道.现在打算重新来过 方法: 0.xv6源码不要用MIT官网的那份,我的主机是Linux/Ubuntu 14.0各种编译error,我都改的想吐.后来直接用github上别人改好的,直接能跑起来没有编译错误的xv6. 1.按照MIT给出的课程安排表,每一次课的相关lecture必须全部过一遍. 2.要求的课堂作业必须完成,很多时候课程要求的任务是很轻松的,只要修改部分代码就行了.这里我

ios笔试题收集(持续更新)

IOS开发笔试题目 一.OC语法部分: 1. NSObject 中description属性的意义,它可以重写吗 用法举例:定义一个Person类,声明两个成员变量 @interface Person : NSObject { NSString * name; int age; } 在类的实现中,init方法初始化成员变量 @implementation Person - (instancetype)init { self = [super init]; if (self) { name = @