Objective c 目标C中的空白
我正在学习Objective-C,我想知道当人们说,当你在一个方法中去掉了void,这意味着这个方法什么也不返回。那到底是什么意思?如果它不是空的,它会“返回”什么?请帮忙 它将返回它声明/写入的任何内容。void正是您所说的,它只是一个单词,用于让编译器知道此函数不返回任何内容,您可以在函数中省略return语句,例如Objective c 目标C中的空白,objective-c,void,Objective C,Void,我正在学习Objective-C,我想知道当人们说,当你在一个方法中去掉了void,这意味着这个方法什么也不返回。那到底是什么意思?如果它不是空的,它会“返回”什么?请帮忙 它将返回它声明/写入的任何内容。void正是您所说的,它只是一个单词,用于让编译器知道此函数不返回任何内容,您可以在函数中省略return语句,例如 - (void) myMethod { //do something here } 其中,如果一个方法有一个返回类型,那么如果您没有返回该类型的内容,您将得到一个编译
- (void) myMethod {
//do something here
}
其中,如果一个方法有一个返回类型,那么如果您没有返回该类型的内容,您将得到一个编译错误
- (BOOL) myMethod {
BOOL x = false;
//do something
return x;
}
所以在这里我们可以看到,用你的话“如果它不是void,它会返回什么?”它会返回你告诉它的任何东西,当你声明方法时的返回类型只需要与你实际返回的匹配,这就是全部
注意,您仍然可以在void函数中返回,但它所做的只是过早地结束函数的执行,例如
- (void) myMethod {
BOOL x = false;
if(x == false)
return;
x = true;
}
在这里我们可以看到,语句
x=true
永远不会执行,因为它将进入if语句并返回,这将结束函数(而不会返回任何内容)您应该阅读一本编程入门书或学习一门课程。快速的谷歌搜索让我明白了这一点:“void”用于(至少)两种完全不同的东西。“void指针”(void*
)是一个纯地址的指针,没有关联的数据类型。但是,当“void”用作方法的返回类型时,它表示“nothing”--方法不返回任何值,尝试返回值或使用(未)返回值将导致编译错误。(但这是基本的C/Java表示法,在尝试使用Objective-C之前,您应该了解它。Objective-C不是初学者的语言,如果您在开始学习之前没有打好基础,您可能会学到很多错误的“事实”。)