gpt4 book ai didi

objective-c - NSString *s = @"string"和 NSString *s = [[NSString alloc] initWithString : @"string"]? 之间有什么区别

转载 作者:行者123 更新时间:2023-12-03 16:49:05 27 4
gpt4 key购买 nike

我认为这个问题已经足够清楚了,但仍然 - 有什么区别:

NSString *string = @"Hello world!";

NSString *string = [[NSString alloc] initWithString:@"Hello world!"];

如果 this 请告诉我已经回答了。

最佳答案

NSString *string = [[NSString alloc] initWithString:@"Hello world!"];

按照 cocoa 命名约定,您可以使用名称以“alloc”、“new”、“copy”或“mutableCopy”开头的方法创建对象。这意味着您拥有上面的字符串,因此您有责任释放该对象。

NSString *string = @"Hello World";

上面的行是一个字符串文字/常量,您不分配或释放它。您不拥有该对象。

关于objective-c - NSString *s = @"string"和 NSString *s = [[NSString alloc] initWithString : @"string"]? 之间有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9034041/

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