NSString“无效摘要”

时间:2011-07-01 03:18:25

标签: iphone objective-c nsstring

好的,我已经阅读了很多关于此的帖子和资源,但我仍然遇到同样的问题。我有一些NSString变量,我需要在整个类的多个地方使用类范围的变量。我尝试了很多种设置组合。首先,我确实在接口中声明了字符串,如下所示:

@interface iCodeViewController : UIViewController <NSXMLParserDelegate> {

    NSString *myString;
}

我还添加了如下属性(我已尝试使用和不使用属性并进行合成)

@property (readwrite, retain) NSString *myString;

我也尝试过,(非原子的,保留的),(非原子的,复制的),(readwrite,copy)。

然后在.m文件中:

@synthesize myString;

我试过了:

self.myString = @"whatever";
myString = @"whatever";

我也尝试过和不用分配内存:

myString = [[NSString alloc] init];

我错过了什么?

在我'假设'在一个方法中设置字符串变量之后,我尝试用if ([myString isEqualToString:@"blah blah"])在另一个方法中检查它,当我输入一个断点并将鼠标悬停在myString上时,它总是显示'无效的摘要。< / p>

谢谢!

3 个答案:

答案 0 :(得分:1)

使用以下

@property (nonatomic, retain) NSString *myString;
self.myString = [NSString  stringWithString:@"whatever"];

更多阅读SO帖子

Invalid Summary in NSString assignment

答案 1 :(得分:0)

您可以在此处输入课程代码吗?你处理myString的方式非常好。 我能想到的一种可能性是你忘记了从init方法返回self。

在您的代码中可能存在其他可能与内存相关的混乱。

答案 2 :(得分:0)

我能够通过将NSMutableString初始化为100并仅附加到它来重现无效摘要。当我打电话给

时,我发现问题消失了
[mutableString setString:@""];

之前

[mutableString appendString:string];