2011-12-12 67 views

回答

6

这应该做我认为伎俩(写在浏览器) - 从NSMutableArray中的NSArray继承,这样你就可以使用arrayWithArray构造。

NSMutableArray *sortedReleases = [NSMutableArray arrayWithArray:[theReleases sortedArrayUsingComparator:^(id a, id b)]] 
1

sortedArrayUsingComparator返回NSArray*,你想有一个NSMutableArray*。在ObjC中,可变类型从不可变类型继承,所以你不能只使用NSArray*。你需要一些东西来取你的NSArray*,并给你相当的NSMutableArray*。在这种情况下,NSMutableArray arrayWithArray方法将做到这一点。

尝试类似:

NSMutableArray *immutableSortedReleases = [theReleases sortedArrayUsingComparator:^(id a, id b)...] 
NSMutableArray *sortedReleases = [NSMutableArray arrayWithArray:immutableSortedReleases]; 

或者,如果足够清晰,跳过对immutableSortedReleases,并把arrayWithArray呼叫在线。

相关问题