我正在尝试通过调用方法来更改 NSString 类型的变量。但它不起作用。我用其他类型尝试了同样的方法,效果很好。你能帮我吗?
界面:
- (void) changeNSString: (NSString *) stringToChange;
执行:
- (void) changeNSString: (NSString *) stringToChange{
stringToChange = @"Test";
}
- (IBAction)actionBla:(id)sender {
NSString *myString = [NSString string];
[self changeNSString:myString];
NSLog(myString); //Returns nothing or empty string
}
====================== 编辑:感谢 CrimsonDiego 的帮助,这是一个可行的解决方案。虽然我仍然有一点理解问题:为什么将 NSMutableString 分配给 NSString var 时没有类型错误?
界面:
- (void) changeNSMutableString: (NSMutableString *) stringToChange;
执行:
- (void) changeNSMutableString: (NSMutableString *) stringToChange{
[stringToChange setString:@"Test"]
}
- (IBAction)actionBla:(id)sender {
NSMutableString *myString = [NSMutableString string];
[self changeNSMutableString:myString];
self.myLabel.text = myString; //Why is there no type error???
}