mirror of
https://github.com/gnustep/libs-base.git
synced 2025-05-31 16:50:58 +00:00
Update -[NSMutableArray removeLastObject]
(#433)
* Update `-[NSMutableArray removeLastObject]` Updates the following implementation to avoid raising an exception if the array is already empty (or notifying observers if applicable): * `-[NSMutableArray removeLastObject]` * `-[GSMutableArray removeLastObject]` * `-[NSKeyValueMutableArray removeLastObject]` * `-[NSKeyValueIvarMutableArray removeLastObject]` This brings the behavior of `-[NSMutableArray removeLastObject]` inline with the Apple implementation, improving compatibility for code bases which use both GNUStep and Apple objc/Foundation implementations. * Add `-[NSMutableArray removeLastObject]` test case Adds a test case to ensure `-[NSMutableArray removeLastObject]` does not raise an exception when called on an empty array.
This commit is contained in:
parent
bf7ccc407d
commit
a5ed5dbe11
4 changed files with 22 additions and 8 deletions
|
@ -2187,16 +2187,14 @@ compare(id elem1, id elem2, void* context)
|
|||
}
|
||||
|
||||
/**
|
||||
* Removes the last object in the array. Raises an exception if the array
|
||||
* is already empty.
|
||||
* Removes the last object in the array if one exists (otherwise it just returns).
|
||||
*/
|
||||
- (void) removeLastObject
|
||||
{
|
||||
NSUInteger count = [self count];
|
||||
|
||||
if (count == 0)
|
||||
[NSException raise: NSRangeException
|
||||
format: @"Trying to remove from an empty array."];
|
||||
return;
|
||||
[self removeObjectAtIndex: count-1];
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue