gpt4 book ai didi

ios - Objective C 为什么将字符串格式化为字符串

转载 作者:可可西里 更新时间:2023-11-01 04:26:16 24 4
gpt4 key购买 nike

在处理以前的开发人员留给我的项目代码时,我遇到了以下构造

-(NSString *)StringCheckWithString:(NSString *)string{

NSString *string2 = [NSString stringWithFormat:@"%@", string];

if([string2 length] == 0){
return @"none";
}
else {
return string2;
}
}

谁能解释你为什么要这样做,这对我来说似乎设计过度了,我不明白为什么要这样做(为了清楚起见,我不明白为什么字符串的格式是这样的,我明白长度检查)

最佳答案

传入的参数可以是字符串的任何子类,包括 NSMutableString。此代码创建它的一个不可变副本。这意味着您可以存储返回的字符串,而不必担心其他人会修改它。

更好的方法是:

NSString *string2 = [string copy];

根据NSCopying Protocol reference :

The copy returned is immutable if the consideration “immutable vs. mutable” applies to the receiving object.

关于ios - Objective C 为什么将字符串格式化为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17814329/

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