【问题标题】:NSString "invalid summary"NSString“无效摘要”
【发布时间】:2026-01-31 19:50:01
【问题描述】:

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

@interface iCodeViewController : UIViewController <NSXMLParserDelegate> {

    NSString *myString;
}

我还添加了如下属性(我试过有无属性和合成)

@property (readwrite, retain) NSString *myString;

我也试过,(非原子,保留),(非原子,复制),(读写,复制)。

然后在.m文件中:

@synthesize myString;

我试过了:

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

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

myString = [[NSString alloc] init];

我错过了什么??

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

谢谢!

【问题讨论】:

    标签: iphone objective-c nsstring


    【解决方案1】:

    在下面使用

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

    更多信息请阅读 SO 帖子

    Invalid Summary in NSString assignment

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

        我能够通过将 NSMutableString 初始化为大小 100 并仅附加到它来重现无效摘要。当我打电话时,我发现问题消失了

        [mutableString setString:@""];
        

        之前

        [mutableString appendString:string]; 
        

        【讨论】: