From: <ho...@us...> - 2008-12-27 18:16:53
|
Revision: 13936 http://bibdesk.svn.sourceforge.net/bibdesk/?rev=13936&view=rev Author: hofman Date: 2008-12-27 18:16:43 +0000 (Sat, 27 Dec 2008) Log Message: ----------- fix ampersand separator in template convenience methods Modified Paths: -------------- trunk/bibdesk/NSArray_BDSKExtensions.m Modified: trunk/bibdesk/NSArray_BDSKExtensions.m =================================================================== --- trunk/bibdesk/NSArray_BDSKExtensions.m 2008-12-27 05:55:43 UTC (rev 13935) +++ trunk/bibdesk/NSArray_BDSKExtensions.m 2008-12-27 18:16:43 UTC (rev 13936) @@ -191,6 +191,8 @@ return @""; case 1: return [self objectAtIndex:0]; + case 2: + return [self componentsJoinedByString:@" & "]; default: return [[[[self subarrayWithRange:NSMakeRange(0, count - 1)] componentsJoinedByComma] stringByAppendingString:@", & "] stringByAppendingString:[self lastObject]]; } @@ -223,7 +225,7 @@ - (NSString *)componentsJoinedByAmpersandWithSingleEtAlAfterTwo { - return [self count] > 2 ? [[self firstObject] stringByAppendingString:@" et al."] : [self componentsJoinedByString:@"&"]; + return [self count] > 2 ? [[self firstObject] stringByAppendingString:@" et al."] : [self componentsJoinedByString:@" & "]; } - (NSString *)componentsJoinedByCommaAndAmpersandWithSingleEtAlAfterFive This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2009-02-17 12:24:30
|
Revision: 14297 http://bibdesk.svn.sourceforge.net/bibdesk/?rev=14297&view=rev Author: hofman Date: 2009-02-17 12:24:21 +0000 (Tue, 17 Feb 2009) Log Message: ----------- Make sure componentsJoinedBy... methods accept non-string items. Modified Paths: -------------- trunk/bibdesk/NSArray_BDSKExtensions.m Modified: trunk/bibdesk/NSArray_BDSKExtensions.m =================================================================== --- trunk/bibdesk/NSArray_BDSKExtensions.m 2009-02-17 06:29:22 UTC (rev 14296) +++ trunk/bibdesk/NSArray_BDSKExtensions.m 2009-02-17 12:24:21 UTC (rev 14297) @@ -190,27 +190,27 @@ case 0: return @""; case 1: - return [self objectAtIndex:0]; + return [[self objectAtIndex:0] description]; case 2: return [self componentsJoinedByString:@" & "]; default: - return [[[[self subarrayWithRange:NSMakeRange(0, count - 1)] componentsJoinedByComma] stringByAppendingString:@", & "] stringByAppendingString:[self lastObject]]; + return [[[[self subarrayWithRange:NSMakeRange(0, count - 1)] componentsJoinedByComma] stringByAppendingString:@", & "] stringByAppendingString:[[self lastObject] description]]; } } - (NSString *)componentsWithEtAlAfterOne { - return [self count] > 1 ? [[self firstObject] stringByAppendingString:@" et al."] : [self firstObject]; + return [self count] > 1 ? [NSString stringWithFormat:@"%@ et al.", [self objectAtIndex:0]] : [[self firstObject] description]; } - (NSString *)componentsJoinedByAndWithSingleEtAlAfterTwo { - return [self count] > 2 ? [[self firstObject] stringByAppendingString:@" et al."] : [self componentsJoinedByAnd]; + return [self count] > 2 ? [NSString stringWithFormat:@"%@ et al.", [self objectAtIndex:0]] : [self componentsJoinedByAnd]; } - (NSString *)componentsJoinedByCommaAndAndWithSingleEtAlAfterThree { - return [self count] > 3 ? [[self firstObject] stringByAppendingString:@" et al."] : [self componentsJoinedByCommaAndAnd]; + return [self count] > 3 ? [NSString stringWithFormat:@"%@ et al.", [self objectAtIndex:0]] : [self componentsJoinedByCommaAndAnd]; } - (NSString *)componentsJoinedByAndWithEtAlAfterTwo @@ -225,12 +225,12 @@ - (NSString *)componentsJoinedByAmpersandWithSingleEtAlAfterTwo { - return [self count] > 2 ? [[self firstObject] stringByAppendingString:@" et al."] : [self componentsJoinedByString:@" & "]; + return [self count] > 2 ? [NSString stringWithFormat:@"%@ et al.", [self objectAtIndex:0]] : [self componentsJoinedByString:@" & "]; } - (NSString *)componentsJoinedByCommaAndAmpersandWithSingleEtAlAfterFive { - return [self count] > 5 ? [[self firstObject] stringByAppendingString:@" et al."] : [self componentsJoinedByCommaAndAmpersand]; + return [self count] > 5 ? [NSString stringWithFormat:@"%@ et al.", [self objectAtIndex:0]] : [self componentsJoinedByCommaAndAmpersand]; } - (NSString *)componentsJoinedByCommaAndAmpersandWithEtAlAfterSix This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2009-02-22 10:56:32
|
Revision: 14420 http://bibdesk.svn.sourceforge.net/bibdesk/?rev=14420&view=rev Author: hofman Date: 2009-02-22 10:56:29 +0000 (Sun, 22 Feb 2009) Log Message: ----------- use methodForSelector instead of objc_msgSend Modified Paths: -------------- trunk/bibdesk/NSArray_BDSKExtensions.m Modified: trunk/bibdesk/NSArray_BDSKExtensions.m =================================================================== --- trunk/bibdesk/NSArray_BDSKExtensions.m 2009-02-22 10:20:28 UTC (rev 14419) +++ trunk/bibdesk/NSArray_BDSKExtensions.m 2009-02-22 10:56:29 UTC (rev 14420) @@ -382,7 +382,7 @@ - (NSArray *)arrayByRemovingObject:(id)anObject { if ([self containsObject:anObject]) return self; - NSMutableArray *tmpArray= [NSMutableArray arrayWithArray:self]; + NSMutableArray *tmpArray = [NSMutableArray arrayWithArray:self]; [tmpArray removeObject:anObject]; return tmpArray; } @@ -395,7 +395,7 @@ NSEnumerator *objEnum = [self objectEnumerator]; id object; while (object = [objEnum nextObject]) - objc_msgSend(object, selector, arg1, arg2); + [object methodForSelector:selector](object, selector, arg1, arg2); } - (NSArray *)arrayByPerformingSelector:(SEL)aSelector withObject:(id)anObject { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2009-02-22 11:02:59
|
Revision: 14421 http://bibdesk.svn.sourceforge.net/bibdesk/?rev=14421&view=rev Author: hofman Date: 2009-02-22 11:02:55 +0000 (Sun, 22 Feb 2009) Log Message: ----------- less cases for componentsJoinedByCommaAnd... Modified Paths: -------------- trunk/bibdesk/NSArray_BDSKExtensions.m Modified: trunk/bibdesk/NSArray_BDSKExtensions.m =================================================================== --- trunk/bibdesk/NSArray_BDSKExtensions.m 2009-02-22 10:56:29 UTC (rev 14420) +++ trunk/bibdesk/NSArray_BDSKExtensions.m 2009-02-22 11:02:55 UTC (rev 14421) @@ -55,7 +55,7 @@ - (id)firstObject; { - return [self count] ? [self objectAtIndex:0] : nil; + return [self count] > 0 ? [self objectAtIndex:0] : nil; } - (id)secondObject; @@ -140,12 +140,12 @@ - (NSArray *)arrayDroppingFirstObject; { - return [self count] ? [self subarrayWithRange:NSMakeRange(1, [self count] - 1)] : self; + return [self count] > 0 ? [self subarrayWithRange:NSMakeRange(1, [self count] - 1)] : self; } - (NSArray *)arrayDroppingLastObject; { - return [self count] ? [self subarrayWithRange:NSMakeRange(0, [self count] - 1)] : self; + return [self count] > 0 ? [self subarrayWithRange:NSMakeRange(0, [self count] - 1)] : self; } - (NSArray *)arraySortedByAuthor; @@ -190,32 +190,12 @@ - (NSString *)componentsJoinedByCommaAndAnd { - unsigned count = [self count]; - switch (count) { - case 0: - return @""; - case 1: - return [[self objectAtIndex:0] description]; - case 2: - return [self componentsJoinedByString:@" and "]; - default: - return [[[[self subarrayWithRange:NSMakeRange(0, count - 1)] componentsJoinedByComma] stringByAppendingString:@", and "] stringByAppendingString:[[self lastObject] description]]; - } + return [self count] > 2 ? [[[[self subarrayWithRange:NSMakeRange(0, count - 1)] componentsJoinedByComma] stringByAppendingString:@", and "] stringByAppendingString:[[self lastObject] description]] : [self componentsJoinedByString:@" and "]; } - (NSString *)componentsJoinedByCommaAndAmpersand { - unsigned count = [self count]; - switch (count) { - case 0: - return @""; - case 1: - return [[self objectAtIndex:0] description]; - case 2: - return [self componentsJoinedByString:@" & "]; - default: - return [[[[self subarrayWithRange:NSMakeRange(0, count - 1)] componentsJoinedByComma] stringByAppendingString:@", & "] stringByAppendingString:[[self lastObject] description]]; - } + return [self count] > 2 ? [[[[self subarrayWithRange:NSMakeRange(0, count - 1)] componentsJoinedByComma] stringByAppendingString:@", & "] stringByAppendingString:[[self lastObject] description]] : [self componentsJoinedByString:@" & "]; } - (NSString *)componentsWithEtAlAfterOne This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2009-02-22 11:10:12
|
Revision: 14423 http://bibdesk.svn.sourceforge.net/bibdesk/?rev=14423&view=rev Author: hofman Date: 2009-02-22 11:10:11 +0000 (Sun, 22 Feb 2009) Log Message: ----------- use method now we don't have the local variable Modified Paths: -------------- trunk/bibdesk/NSArray_BDSKExtensions.m Modified: trunk/bibdesk/NSArray_BDSKExtensions.m =================================================================== --- trunk/bibdesk/NSArray_BDSKExtensions.m 2009-02-22 11:05:20 UTC (rev 14422) +++ trunk/bibdesk/NSArray_BDSKExtensions.m 2009-02-22 11:10:11 UTC (rev 14423) @@ -190,12 +190,12 @@ - (NSString *)componentsJoinedByCommaAndAnd { - return [self count] > 2 ? [[[[self subarrayWithRange:NSMakeRange(0, count - 1)] componentsJoinedByComma] stringByAppendingString:@", and "] stringByAppendingString:[[self lastObject] description]] : [self componentsJoinedByString:@" and "]; + return [self count] > 2 ? [[[[self subarrayWithRange:NSMakeRange(0, [self count] - 1)] componentsJoinedByComma] stringByAppendingString:@", and "] stringByAppendingString:[[self lastObject] description]] : [self componentsJoinedByString:@" and "]; } - (NSString *)componentsJoinedByCommaAndAmpersand { - return [self count] > 2 ? [[[[self subarrayWithRange:NSMakeRange(0, count - 1)] componentsJoinedByComma] stringByAppendingString:@", & "] stringByAppendingString:[[self lastObject] description]] : [self componentsJoinedByString:@" & "]; + return [self count] > 2 ? [[[[self subarrayWithRange:NSMakeRange(0, [self count] - 1)] componentsJoinedByComma] stringByAppendingString:@", & "] stringByAppendingString:[[self lastObject] description]] : [self componentsJoinedByString:@" & "]; } - (NSString *)componentsWithEtAlAfterOne This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2009-03-12 17:48:11
|
Revision: 14698 http://bibdesk.svn.sourceforge.net/bibdesk/?rev=14698&view=rev Author: hofman Date: 2009-03-12 17:48:05 +0000 (Thu, 12 Mar 2009) Log Message: ----------- remove object from array when it does contain the object Modified Paths: -------------- trunk/bibdesk/NSArray_BDSKExtensions.m Modified: trunk/bibdesk/NSArray_BDSKExtensions.m =================================================================== --- trunk/bibdesk/NSArray_BDSKExtensions.m 2009-03-12 17:09:23 UTC (rev 14697) +++ trunk/bibdesk/NSArray_BDSKExtensions.m 2009-03-12 17:48:05 UTC (rev 14698) @@ -360,7 +360,7 @@ } - (NSArray *)arrayByRemovingObject:(id)anObject { - if ([self containsObject:anObject]) + if ([self containsObject:anObject] == NO) return self; NSMutableArray *tmpArray = [NSMutableArray arrayWithArray:self]; [tmpArray removeObject:anObject]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2009-09-23 11:55:30
|
Revision: 15767 http://bibdesk.svn.sourceforge.net/bibdesk/?rev=15767&view=rev Author: hofman Date: 2009-09-23 11:55:20 +0000 (Wed, 23 Sep 2009) Log Message: ----------- use NSIntegerMin Modified Paths: -------------- trunk/bibdesk/NSArray_BDSKExtensions.m Modified: trunk/bibdesk/NSArray_BDSKExtensions.m =================================================================== --- trunk/bibdesk/NSArray_BDSKExtensions.m 2009-09-22 23:33:49 UTC (rev 15766) +++ trunk/bibdesk/NSArray_BDSKExtensions.m 2009-09-23 11:55:20 UTC (rev 15767) @@ -242,13 +242,13 @@ NSEnumerator *itemEnum = [[self sortedArrayUsingSelector:@selector(compare:)] objectEnumerator]; id item; NSMutableArray *array = [NSMutableArray array]; - NSInteger start = INT_MIN, end = INT_MIN; + NSInteger start = NSIntegerMin, end = NSIntegerMin; while (item = [itemEnum nextObject]) { if ([item respondsToSelector:@selector(intValue)] == NO) continue; NSInteger value = [item intValue]; if (value != end + 1) { - if (start != INT_MIN) { + if (start != NSIntegerMin) { NSArray *range = [[NSArray alloc] initWithObjects:[NSNumber numberWithInt:start], start == end ? nil : [NSNumber numberWithInt:end], nil]; [array addObject:range]; [range release]; @@ -257,7 +257,7 @@ } end = value; } - if (start != INT_MIN) { + if (start != NSIntegerMin) { NSArray *range = [[NSArray alloc] initWithObjects:[NSNumber numberWithInt:start], start == end ? nil : [NSNumber numberWithInt:end], nil]; [array addObject:range]; [range release]; @@ -270,13 +270,13 @@ NSEnumerator *itemEnum = [[self sortedArrayUsingSelector:@selector(compare:)] objectEnumerator]; id item; NSMutableArray *array = [NSMutableArray array]; - NSInteger start = INT_MIN, end = INT_MIN; + NSInteger start = NSIntegerMin, end = NSIntegerMin; while (item = [itemEnum nextObject]) { if ([item respondsToSelector:@selector(intValue)] == NO) continue; NSInteger value = [item intValue]; if (value != end + 1) { - if (start != INT_MIN) { + if (start != NSIntegerMin) { NSString *string = [[NSString alloc] initWithFormat:(start == end ? @"%ld" : @"%ld-%ld"), (long)start, (long)end]; [array addObject:string]; [string release]; @@ -285,7 +285,7 @@ } end = value; } - if (start != INT_MIN) { + if (start != NSIntegerMin) { NSString *string = [[NSString alloc] initWithFormat:(start == end ? @"%ld" : @"%ld-%ld"), (long)start, (long)end]; [array addObject:string]; [string release]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2010-06-25 13:44:15
|
Revision: 16971 http://bibdesk.svn.sourceforge.net/bibdesk/?rev=16971&view=rev Author: hofman Date: 2010-06-25 13:44:09 +0000 (Fri, 25 Jun 2010) Log Message: ----------- fix an accessor for templating Modified Paths: -------------- trunk/bibdesk/NSArray_BDSKExtensions.m Modified: trunk/bibdesk/NSArray_BDSKExtensions.m =================================================================== --- trunk/bibdesk/NSArray_BDSKExtensions.m 2010-06-25 08:53:44 UTC (rev 16970) +++ trunk/bibdesk/NSArray_BDSKExtensions.m 2010-06-25 13:44:09 UTC (rev 16971) @@ -213,7 +213,7 @@ - (NSString *)componentsJoinedByAndWithEtAlAfterTwo { - return [self count] > 2 ? [[[self firstTwoObjects] componentsJoinedByComma] stringByAppendingString:@", et al."] : [self componentsJoinedByAnd]; + return [self count] > 2 ? [[[self firstTwoObjects] componentsJoinedByAnd] stringByAppendingString:@" et al."] : [self componentsJoinedByAnd]; } - (NSString *)componentsJoinedByCommaAndAndWithEtAlAfterThree This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2020-12-28 23:36:22
|
Revision: 25265 http://sourceforge.net/p/bibdesk/svn/25265 Author: hofman Date: 2020-12-28 23:36:20 +0000 (Mon, 28 Dec 2020) Log Message: ----------- declare type of implementation function Modified Paths: -------------- trunk/bibdesk/NSArray_BDSKExtensions.m Modified: trunk/bibdesk/NSArray_BDSKExtensions.m =================================================================== --- trunk/bibdesk/NSArray_BDSKExtensions.m 2020-12-28 23:32:49 UTC (rev 25264) +++ trunk/bibdesk/NSArray_BDSKExtensions.m 2020-12-28 23:36:20 UTC (rev 25265) @@ -456,7 +456,9 @@ NSUInteger test = 0; NSUInteger count = [self count]; NSComparisonResult result; - IMP objectAtIndexImp = [self methodForSelector:@selector(objectAtIndex:)]; + + typedef id (*objectatIndexType)(id, SEL, NSUInteger); + objectatIndexType objectAtIndexImp = (objectatIndexType)[self methodForSelector:@selector(objectAtIndex:)]; NSSortDescriptor *sort = [sortDescriptors objectAtIndex:0]; if([sort ascending] == NO) sort = [sort reversedSortDescriptor]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2022-06-08 19:33:52
|
Revision: 27586 http://sourceforge.net/p/bibdesk/svn/27586 Author: hofman Date: 2022-06-08 19:33:50 +0000 (Wed, 08 Jun 2022) Log Message: ----------- make code more compact using ternary operators Modified Paths: -------------- trunk/bibdesk/NSArray_BDSKExtensions.m Modified: trunk/bibdesk/NSArray_BDSKExtensions.m =================================================================== --- trunk/bibdesk/NSArray_BDSKExtensions.m 2022-06-08 19:26:54 UTC (rev 27585) +++ trunk/bibdesk/NSArray_BDSKExtensions.m 2022-06-08 19:33:50 UTC (rev 27586) @@ -428,28 +428,19 @@ static NSComparisonResult __BDCompareValuesWithSelector(id value1, id value2, SEL selector) { // check to see if one of the values is nil - if(value1 == nil){ - if(value2 == nil) - return NSOrderedSame; - else - return NSOrderedDescending; - } else if(value2 == nil){ + if (value1 == nil) + return value2 == nil ? NSOrderedSame : NSOrderedDescending; + else if (value2 == nil) return NSOrderedAscending; - // this check only applies to NSString objects - } else if([value1 isKindOfClass:[NSString class]] && [value2 isKindOfClass:[NSString class]]){ - if ([value1 isEqualToString:@""]) { - if ([value2 isEqualToString:@""]) { - return NSOrderedSame; - } else { - return NSOrderedDescending; - } - } else if ([value2 isEqualToString:@""]) { + + // this check only applies to NSString objects + if ([value1 isKindOfClass:[NSString class]] && [value2 isKindOfClass:[NSString class]]) { + if ([value1 isEqualToString:@""]) + return [value2 isEqualToString:@""] ? NSOrderedSame : NSOrderedDescending; + else if ([value2 isEqualToString:@""]) return NSOrderedAscending; - } } - NSComparisonResult result; - // we use the IMP directly since performSelector: returns an id typedef NSComparisonResult (*comparatorIMP)(id, SEL, id); comparatorIMP comparator = (comparatorIMP)[value1 methodForSelector:selector]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |