gpt4 book ai didi

Objective-c 语法困惑

转载 作者:行者123 更新时间:2023-12-01 17:43:24 24 4
gpt4 key购买 nike

谁能告诉我两者的区别

NSString* string;


NSString* string = [NSString string];

最佳答案

就像在 C 中一样,

NSString *string;

声明变量(指针) string但没有任何值(value)。这意味着在初始化之前不能使用该变量,例如通过执行 string = @"foo"; .

笔记:
  • 如果这是一个实例变量,它实际上会被自动初始化——到nil。 .
  • 如果您在代码中的某处使用该变量,而没有在每个可能的分支(if 条件等)中对其进行初始化,那么编译器会报错。为避免这种情况,您可以将其设置为空字符串或 nil开始。


  • 线
    NSString *string = [NSString string];

    使用 +string method of the NSString class创建一个空字符串。您也可以使用 @"" .

    (进一步说明:我建议使用 NSString *string 而不是 NSString* string,因为前者隐藏了语法特性: NSString *string1, *string2; 是在一行上声明多个指针变量的正确方法。)

    关于Objective-c 语法困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12942083/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com