代码之家  ›  专栏  ›  技术社区  ›  Joel Hooks

将NSObject强制转换为NSString

  •  6
  • Joel Hooks  · 技术社区  · 16 年前

    Stanford iPhone class 我不明白为什么会收到编译器警告。我假设我需要将我的对象强制转换为NSString,但是当我尝试这样做时,我得到了一个错误。代码运行并提供了预期的输出,但警告让我感到困扰。

    NSLog(@"lowerCaseString is: %@", [object lowercaseString]);
    

    运行时会出现警告:“NSObject”可能不会响应“-lowercaseestring”

    NSLog(@"lowerCaseString is: %@", [(NSString)object lowercaseString]);
    

    这会引发错误:请求转换为非标量类型

    2 回复  |  直到 16 年前
        1
  •  24
  •   Frostmourne    6 年前

    我相信这将满足您的需要:

    NSLog(@"lowerCaseString is: %@", [(NSString *)object lowercaseString]);
    

    注意,我刚刚在第二行代码中添加了*以生成指向NSString的指针。

        2
  •  3
  •   Chuck    16 年前