【问题标题】:Problems with UIDevice properties and NSLogUIDevice 属性和 NSLog 的问题
【发布时间】:2011-05-23 18:18:18
【问题描述】:

我一直在尝试使用 [[UIDevice currentDevice] ...] 和 NSLog 记录设备参数。尽管尝试了不同的方法,但我总是收到相同的警告。

我得到的警告是:

Passing argument 1 of 'NSLog' from incompatible pointer type

这是我所有的尝试:

1:

NSString *UDID = [[UIDevice currentDevice] uniqueIdentifier];
    NSString *deviceName = [[UIDevice currentDevice] name];
    NSString *deviceModel = [[UIDevice currentDevice] model];

    NSLog("\nDevice UDID: %@\nDevice Name: %@\nDevice Mode:%@\n",UDID, deviceName, deviceModel);

2:

NSString *UDID = (NSString*)[[UIDevice currentDevice] uniqueIdentifier];
    NSString *deviceName = (NSString*)[[UIDevice currentDevice] name];
    NSString *deviceModel = (NSString*)[[UIDevice currentDevice] model];

    NSLog("\nDevice UDID: %@\nDevice Name: %@\nDevice Mode:%@\n",UDID, deviceName, deviceModel);

3:

NSString *UDID = [NSString stringWithFormat:[[UIDevice currentDevice] uniqueIdentifier]];
    NSString *deviceName = [NSString stringWithFormat:[[UIDevice currentDevice] name]];
    NSString *deviceModel = [NSString stringWithFormat:[[UIDevice currentDevice] model]];

    NSLog("\nDevice UDID: %@\nDevice Name: %@\nDevice Mode:%@\n",UDID, deviceName, deviceModel);

4:

NSLog("\nDevice UDID: %@\nDevice Name: %@\nDevice Mode:%@\n",[[UIDevice currentDevice] uniqueIdentifier], [[UIDevice currentDevice] name], [[UIDevice currentDevice] model]);

谁能帮帮我?谢谢!

【问题讨论】:

    标签: iphone properties nslog uidevice


    【解决方案1】:

    您需要使用 NSString 作为 NSLog 的第一个参数 例如

    NSLog(@"\nDevice UDID: %@\nDevice Name: %@\nDevice Mode:%@\n",UDID, deviceName, deviceModel);
    

    注意字符串开头的“@”

    【讨论】:

    • 我不敢相信我错过了。谢谢你的好眼力……我现在觉得自己太傻了哈哈
    【解决方案2】:

    NSLog 采用 NSString 作为格式字符串,而不是 const char*。在您的字符串前面加上 @

    即:

    NSLog(@"\nDevice UDID: %@\nDevice Name: %@\nDevice Mode:%@\n", ....
    

    【讨论】:

      【解决方案3】:

      NSLog 需要 NSString 作为其格式参数。你应该像这样调用NSLog

      NSLog(@"\nDevice UDID: %@", [[UIDevice currentDevice] uniqueIdentifier]);
      

      注意开头的“@”——这是一个常量NSString 引用。您使用的是纯 C 字符串。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多