objective-c - NSString从return方法返回空

标签 objective-c ios xcode nsstring

我有一个不寻常的问题,我不知道为什么:

我有以下方法:

 - (NSString*) copyAndReplaceOccurencesForProfileFromString: (NSString*)initialString toString:(NSString*)aString
{

        aString = [NSString stringWithString:initialString];
        DLog(@"PROFILE INITIAL HTML STRING: %@", initialString);

        aString = [aString stringByReplacingOccurrencesOfString:@"//PROFILE_IMAGE//" withString:profileImageForHTML];
        aString = [aString stringByReplacingOccurrencesOfString:@"//PROFILE_NAME//" withString:profileBirthNameString];
        aString = [aString stringByReplacingOccurrencesOfString:@"//PROFILE_BIRTHDATE//" withString:profileDateOfBirthString];
        return aString;
    }

像这样被称为:
    NSString *profileSection = [NSString string];
[self copyAndReplaceOccurencesForProfileFromString:htmlBody_profile toString:profileSection];
DLog(@"PROFILE MODIFIED HTML STRING: %@", profileSection);

但“profileSection”字符串返回空。

我必须指出,在调用return之前,“aString”中包含值。

知道为什么会这样吗?
谢谢 !

最佳答案

编辑:看一下

   NSString *profileSection = [NSString string]; //reference created

再次当profileSection作为aString传入方法时:
   aString = [NSString stringWithString:initialString]; //new reference created

现在profileSection永远无法容纳引用不同的字符串。

使您的函数返回一个新的NSString。
- (NSString*) copyAndReplaceOccurencesForProfileFromString: (NSString*)initialString
{
        NSString *aString = [NSString stringWithString:initialString];
        DLog(@"PROFILE INITIAL HTML STRING: %@", initialString);

        aString = [aString stringByReplacingOccurrencesOfString:@"//PROFILE_IMAGE//" withString:profileImageForHTML];
        aString = [aString stringByReplacingOccurrencesOfString:@"//PROFILE_NAME//" withString:profileBirthNameString];
        aString = [aString stringByReplacingOccurrencesOfString:@"//PROFILE_BIRTHDATE//" withString:profileDateOfBirthString];
        return aString;
}

现在使用像:
NSString *profileSection = [self copyAndReplaceOccurencesForProfileFromString:htmlBody_profile];
DLog(@"PROFILE MODIFIED HTML STRING: %@", profileSection);

关于objective-c - NSString从return方法返回空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12636127/

相关文章:

ios - 多个原型(prototype)单元格到 UITableView

ios - willMoveToParentViewController 和 didMoveToParentViewController

ios - 为什么在 Xcode 7.2.1 中创建项目存档时出现此链接器错误

xcode - 找不到 FileMerge(opendiff 工具)但我安装了 xcode 4.6

ios - 旧数据排序完美,但如果我添加新数据,则降序不正确

objective-c - 延迟初始化不起作用 iPhone

javascript - 等效于 React Native 的 Chart.js

iphone - 使用/理解 JASidePanels 控件时遇到问题

objective-c - UITableView:处理混合单元格 TableView 静态和动态单元格中的单元格选择

ios - CGRect 与 4 个矩形相交。如何找出它与哪个矩形最相交?