Objective c NSString类别的自赋值
我想通过类别自行分配一个调整后的nsstring。 示例为修剪功能: 我不想这样:Objective c NSString类别的自赋值,objective-c,nsstring,variable-assignment,categories,init,Objective C,Nsstring,Variable Assignment,Categories,Init,我想通过类别自行分配一个调整后的nsstring。 示例为修剪功能: 我不想这样: NSString *theTempString = [theExampleString xTrim]; // ... go on doing stuff with theTempString 我希望这样: [theExampleString xTrim]; // ... go on doing stuff with theExmapleString 类别如下所示: - (void)xTrim { se
NSString *theTempString = [theExampleString xTrim];
// ... go on doing stuff with theTempString
我希望这样:
[theExampleString xTrim];
// ... go on doing stuff with theExmapleString
类别如下所示:
- (void)xTrim
{
self = [self stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceCharacterSet]];
}
错误是无法在init之外进行赋值-我理解这一点。
但是现在我对它很感兴趣,当然我可以编写一个定制的init方法,但是没有像上面那样的方法吗
问候和感谢
matthias您不需要创建新的NSString,该方法已经为您创建了:
- (NSString *)xTrim
{
return [self stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
}
NSString是不可变的,因此您需要分配它:
yourString = [yourString xTrim];
您不需要创建新的NSString,该方法已经为您创建了:
- (NSString *)xTrim
{
return [self stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
}
NSString是不可变的,因此您需要分配它:
yourString = [yourString xTrim];
您不能在
NSString
上的类别中执行此操作,因为NSString
管理不可变字符串,这意味着在创建字符串后不能更改该字符串
您可以在NSMutableString
上将其实现为类别:
- (void)xTrim
{
NSString *trimmed = [self stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceCharacterSet]];
[self setString:trimmed]; // replaces the characters of "self" with those of "trimmed".
}
如果你的问题是:我能写一个方法xTrim
这样吗
[theExampleString xTrim]
用一个新实例替换接收者的示例字符串:不,这是不可能的。您不能在
NSString
上的类别中这样做,因为NSString
管理不可变的字符串,这意味着在创建字符串后不能更改该字符串
您可以在NSMutableString
上将其实现为类别:
- (void)xTrim
{
NSString *trimmed = [self stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceCharacterSet]];
[self setString:trimmed]; // replaces the characters of "self" with those of "trimmed".
}
如果你的问题是:我能写一个方法xTrim
这样吗
[theExampleString xTrim]
用一个新实例替换接收者
示例字符串
:不,这是不可能的。该死,非常感谢你在a中给我点球……当然NSString不是可变的。。。啊…该死,非常感谢你在a中踢我一脚…当然NSString不是可变的。。。啊…该死,非常感谢你在a中踢我一脚…当然NSString不是可变的。。。啊…——妈的,非常感谢你在a中踢我一脚…当然NSString不是可变的。。。啊…——