0

我正在尝试使用以下代码返回我的 NSMutableArray (MessageArray) 的一个子集。MessageArray 包含一个 NSDictionary,其中一个键是 FriendStatus。我收到一个奇怪的错误,我知道这是一个 DUH 语法问题。“错误。不应忽略的无效值”。

-(NSMutableArray*)FriendMessageArray {  

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"FriendStatus == 1"];

NSMutableArray *filtered = [MessageArray filterUsingPredicate:predicate];
return filtered;

}

4

2 回答 2

2

void value not ignored as it hould be ” 表示使用以 (void) 开头的签名的方法将值或对象分配给变量。filterUsingPredicate 的签名是什么?它是否以 (void) 开头?

于 2009-08-26T16:44:36.923 回答
2

我假设“MessageArray”是一个实例变量(永远不要以这种方式命名实例变量;您应该有一个名为 -messages 的属性并使用 self.messages 访问它)。我会进一步假设它是一个NSMutableArray,否则你会收到编译器的警告。

NSMutableArray -filterUsingPredicate:修改数组本身,返回 void。您想要的方法是-filteredArrayUsingPredicate:返回一个数组。前者是动词而后者是名词的事实即使没有阅读文档也表明了这一事实。Cocoa 命名极其一致,这也是我在第一段中提到它的原因。注意名称,您的错误会少得多。

于 2009-08-26T16:57:52.857 回答