Code:
// main.m
#import <Foundation/Foundation.h>
#import <CoreFoundation/CoreFoundation.h>
@interface TestClass : NSObject
@end
@implementation TestClass
+ (void)runTest {
NSMutableArray *array = [NSMutableArray new];
[TestClass testFunc:&array];
[TestClass testFunc:&array];
NSLog(@"array: %@", array);
}
+ (void)testFunc:(NSMutableArray **)array {
}
@end
int main(int argc, const char * argv[]) {
@autoreleasepool {
[TestClass runTest];
}
return 0;
}
Build on Release configuration.
On Xcode 8, it will crash.
On Xcode 7, it works normal.
Use Hopper disassembler to check: