NSDate *now = [NSDate date];
NSLog(@"This NSDate object lives at %p", now);
NSLog(@"The date is %@", now);
Run Code Online (Sandbox Code Playgroud)
好的,从这段代码中,我知道这now是一个指向NSDate对象的指针,但是在第3行的代码中,如何在没有星号的情况下取消引用指针?为什么我们不在第3行做这样的代码:
NSLog(@"The date is %@", *now);
Run Code Online (Sandbox Code Playgroud) NSHost *instance = [NSHost currentHost];
NSString *answer = [instance localizedName];
NSLog(@"%@",answer);
Run Code Online (Sandbox Code Playgroud)
好吧,我知道指针的基础知识,但我对这3行代码有一些疑问.在这个网站上发布类似的问题之后,我得到的答案仍然没有真正回答我的问题.所以,首先,我知道指针需要保存一个地址.但为什么我们不这样做呢?NSHost*instance =&[NSHost currentHost]; 添加&.这是因为只有&显示某事物的地址.
第二个问题[NSHost currentHost]返回什么
它返回其实例的地址吗?如果不是我们如何分配NSHost*instance = [NSHost currentHost]; 这是不对的.
第三个问题,我知道NSString*answer = [instance localizedName]; 返回一个NSString的instane,因为它写在一本书中,我现在用它来完成书中的挑战.在这段代码NSString*answer = [instance localizedName]我们分配指针指针?? 因为[instance localizedName]返回NSString的指针.