NSHost *instance = [NSHost currentHost];
NSString *answer = [instance localizedName];
NSLog(@"%@",answer);

好的,我知道指针的基础知识,但是我对这三行代码有一些疑问。在此网站上发布类似问题后,我得到的答案仍然无法真正回答我的问题。
所以,首先
我知道指针需要保存一个地址。
但是为什么我们不这样做呢?
NSHost * instance =&[NSHost currentHost];
添加&。这是因为仅&表示某物的地址。

第二个问题是什么
[NSHost currentHost]
返回

它返回其实例的地址吗?
如果不能,我们如何分配NSHost * instance = [NSHost currentHost];这是错的。

第三个问题,
我知道NSString * answer = [instance localizedName];返回NSString的实例,因为它是写在书中的,而我现在正在使用它来完成书中的挑战。
在此代码中NSString * answer = [instance localizedName]
我们是否将指针分配给指针?因为[instance localizedName]返回NSString的指针。

最佳答案

  • 您无需添加&,因为currentHost已经返回了一个指针。查看其标题:
    + (NSHost *)currentHost
    

    它返回一个NSHost*,并将其分配给NSHost*
  • [NSHost currentHost]将返回一个指向NSHost特定实例的指针。
  • 这里也是。 localizedName返回指向NSString(NSString*)的指针,并将其分配给一个指针。
  • 关于ios - 在 objective-c 或C中分配指针,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20662995/

    10-11 22:54
    查看更多