如何在目标c中替换NSMutablestring的内容

时间:2016-07-15 06:50:29

标签: ios objective-c nsstring nsmutablestring

我是目标c的新手。我想替换我使用代码

的可变字符串的内容
NSMutableString *myMutableStringObj = [myMutableStringObj stringByReplacingOccurrencesOfString:@" & " withString:@"And"];

但它告诉我警告 从NSMutableString *

分配给NSString *的无法比较的指针类型

对此有任何建议。我正在使用MutableString

4 个答案:

答案 0 :(得分:0)

它告诉你这个函数返回NSString *。如果要清除该警告。就这样做:

NSMutableString *myMutableStringObj = [[myMutableStringObj stringByReplacingOccurrencesOfString:@" & " withString:@"And"] mutableCopy];

答案 1 :(得分:0)

请参阅NSString Class中的方法signeture。

- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target
                                        withString:(NSString *)replacement

此方法返回NSString对象。

因此,您需要将结果转换为mutalbe字符串或在NSString中捕获结果。

答案 2 :(得分:0)

阅读NSString和NSMutableString的文档。这不仅适用于你,也适用于迄今为止在此回答的任何人。这个帖子的答案绝对令人沮丧。

有一些方法可以用于NSString,但也可以使用NSMutableString,它根据前一个字符串创建一个新的不可变字符串。通常,以“stringBy ...”开头的方法将创建一个新字符串。

在NSMutableString接口中有一些方法,它们修改现有NSMutableString的内容。比如“replaceOccurencesOfString”。

阅读文档并选择适合您的方法。以“stringBy”开头的方法是 not 来修改你的可变字符串,它正在创建一个新的不可变字符串。若要修改字符串,请使用NSMutableString接口中的方法。幸运的是,编译器会在您使用错误的方法时告诉您。

答案 3 :(得分:-1)

使用此代码

DECLARE @var VARCHAR(100)
    ,@SQL NVARCHAR(max) = ''

SET @var = 'DBRND'
SET @sql = 'select name From ' + @var + '.sys.procedures'

EXEC SP_EXECUTESQL @SQL