[mutableArray initWithArray:[str componentsSeparatedByString:@""]]编译是对的,但在运行时遇到错误

吴志坚*_*吴志坚 -3 memory-management objective-c

[mutableArray initWithArray: [str componentsSeparatedByString:@" "]];
Run Code Online (Sandbox Code Playgroud)

componentsSeparatedByString返回一个NSArray *,并initWithArray接受一个NSArray *.

但是,当我运行此代码时,会出现一些错误.有什么问题?

tro*_*foe 5

你忘了打电话给alloc:

// Assuming:
NSMutableArray *mutableArray;

// Then:
mutableArray = [[NSMutableArray alloc] initWithArray:[str componentsSeparatedByString:@" "]];
Run Code Online (Sandbox Code Playgroud)

或者:

mutableArray = [[str componentsSeparatedByString:@" "] mutableCopy];
Run Code Online (Sandbox Code Playgroud)