ios – 在Objective-C中使用NSLog时,引导指针

ios – 在Objective-C中使用NSLog时,引导指针,第1张

概述NSDate *now = [NSDate date];NSLog(@"This NSDate object lives at %p", now);NSLog(@"The date is %@", now); 好的,从这个代码,我知道现在是一个指向NSDate对象的指针,但是在第3行的代码中,你如何取消引用没有星号的指针?为什么我们不这样做这样的代码在第三行: NSLog(@"The date
NSDate *Now = [NSDate date];NSLog(@"This NSDate object lives at %p",Now);NSLog(@"The date is %@",Now);

好的,从这个代码,我知道现在是一个指向NSDate对象的指针,但是在第3行的代码中,你如何取消引用没有星号的指针?为什么我们不这样做这样的代码在第三行:

NSLog(@"The date is %@",*Now);
解决方法 %@将一个指向一个对象的指针发送给它,该消息返回一个Nsstring指针. (您可以覆盖类中的描述以自定义字符串.)

增加了回应评论:

在Objective-C中,您可以使用[objectPointer message]语法通过指针向对象发送消息.所以,使用你的NSDate示例,你可以做:

NSDate * Now = [NSDate date];Nsstring * dateDescription = [Now description];    // Note that "Now" points to an object and this line sends it the "description" messageNSLog(dateDescription);

从NSObject继承的类的任何实例都可以发送描述消息,因此可以将指向它的指针传递给一个%@ format参数.

(技术说明:如果对象支持descriptionWithLocale:message,则会被发送).

总结

以上是内存溢出为你收集整理的ios – 在Objective-C中使用NSLog时,引导指针全部内容,希望文章能够帮你解决ios – 在Objective-C中使用NSLog时,引导指针所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1096841.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存