@ cobbal Действительно отличный ответ :) Увидев твой ответ, я действительно понял разницу. Но поначалу меня это немного смущало, так как я новичок в программировании на Objective-C, поэтому я просто хочу улучшить ваш ответ, приведя пример. Надеюсь, что это помогает другим новичкам, когда они смотрят на пример:)
#import<Foundation/Foundation.h>
int main()
{ int i;
printf("Enter 1 to perform removeObject function.\n Enter 2 to perform removeObjectIdenticalTo functionality.\n ");
scanf("%d",&i);
@autoreleasepool{
NSString* color;// int count;
NSString * s1 = [NSMutableString stringWithString: @"Red"];
NSString * s2 = [NSMutableString stringWithString: @"Yellow"];
NSString * s3 = [NSMutableString stringWithString: @"Red"];
NSString * s4 = [NSMutableString stringWithString: @"Cyan"];
NSMutableArray * myColors = [NSMutableArray arrayWithObjects: s1,s2,s3,s4,nil];
if(i == 1)
{
[myColors removeObject: s1]; //will remove both s1 and s3 object because their contents are same
//we can also use [myColors removeObject: @"Red"]; instead of above statement. However the functionality remains same .
for(color in myColors)NSLog(@"%@",color);
}
else if (i == 2){
[myColors removeObjectIdenticalTo: s1]; //deletes only s1 object in the array myColor
for(color in myColors)NSLog(@"%@",color);
}
}
return 0;
}
PS: это всего лишь пример. Вы можете найти ответ в ответе @cobbal.