【发布时间】:2023-03-14 19:54:01
【问题描述】:
我想使用此代码来了解我的 ip,但我收到了 2 个我现在无法修复的警告。我还发现了这篇文章:Accessing IP Address with NSHost
但我只是想了解为什么这段代码不起作用,如果有人有答案吗?
这是我的代码:
-(NSString*)getAddress { NSString *iphone_ip = [NSString initWithString:@"127.0.0.1"]; NSHost* myhost =[NSHost currentHost]; if (myhost) { NSString *ad = [myhost address]; if (ad) strcpy(iphone_ip,[ad cStringUsingEncoding: NSISOLatin1StringEncoding]); } return [NSString stringWithFormat:@"%s",iphone_ip]; }
第一个警告开启:
NSHost* myhost =[NSHost currentHost]
,表示当前主机未被识别。 第二个在
NSString *ad = [我的主机地址];
" 初始化 'struct NSData " 的不兼容 obj-c 类型,预期为 'struct NString" "
我可以想象,当第一个警告解决后,第二个警告可能会消失......
感谢您的帮助
保罗
【问题讨论】:
-
当你有一个不需要修改的静态字符串时,不要使用任何 NSString 方法,只需存储字符串!
NSString *iphone_ip = @"127.0.0.1";和 next 永远不会调用以 init 开头的方法而不先调用 alloc,我相信编译器也会对此发出警告,因为它不是类方法。 -
@Joe,谢谢,是的,这是有道理的,我写得太快了
标签: iphone objective-c nshost