iOS面接問題:@propertyで宣言されたNSString(またはNSArray,NSDictionary)はcopyキーワードをよく使いますが、なぜですか?strongキーワードを変更すると、どのような問題が発生しますか?
800 ワード
@property (nonatomic, readwrite, strong) NSArray *myArray;
NSArray *array = @[@1, @2, @3, @4];
//NSMutableArray *invalidMutableArray = array; // Warning.
//[invalidMutableArray removeAllObjects]; // Crash.
NSMutableArray *mutableArray = [NSMutableArray arrayWithArray:array];
self.myArray = mutableArray;
[mutableArray removeAllObjects];;
NSLog(@"%@", self.myArray); // ()
[mutableArray addObjectsFromArray:array];
self.myArray = [mutableArray copy];
[mutableArray removeAllObjects];;
NSLog(@"%@", self.myArray); // (1,2,3,4)
その他:iOS面接問題の合集