我很熟悉这门语言。我得到了一些基础但是:
-(XYPoint *)origin
在此,为什么此方法的返回值看起来像指针?我糊涂了。我知道void,id,double等是什么,但我不明白为什么这有一个指针。
我正在阅读Kochans的书,我得到了一个程序。
myRect.origin = myPoint
NSLog(@"origin:(%i,%i)",myRect.origin.x,myRect.origin.y)
或类似的东西。
但是在NsLog之后我放了一个版本。然后再次调用原点,但它仍然打印出来。它不应该出错吗?
后来,我打印另一个NSLog调用另一个变量,然后,我再次调用了原点,但这次我被给了一个错误,虽然我没有在发布后尝试调用它。很抱歉,如果这看起来很模糊,但我会在需要时详细说明。
答案 0 :(得分:0)
仅仅因为返回类型是指针类型,所以它被指定为返回指针。
请注意,任何东西都可以转换为返回指针的指针类型,而不是它指向内存中的对象,但这可能比Objective-C类更高级。
发布并不总是意味着对象立即被释放。它可以是瞬时的,或者在一秒或几个中,它实际发生。或者,如果对象保留在其他地方,那么它根本就不会被释放。