mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-22 16:33:29 +00:00
Key-value update
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@9682 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
134e9d1184
commit
8b274732c5
2 changed files with 59 additions and 8 deletions
|
@ -1,3 +1,8 @@
|
|||
2001-04-24 Richard Frith-Macdonald <rfm@gnu.org>
|
||||
|
||||
* Source/NSObject.m: Fixes for string capitalisation in
|
||||
key-value methods.
|
||||
|
||||
2001-04-23 Adam Fedor <fedor@gnu.org>
|
||||
|
||||
* configure.in: Simplify NeXT checks.
|
||||
|
|
|
@ -1922,13 +1922,26 @@ GSSetValue(NSObject *self, NSString *key, id val, SEL sel,
|
|||
unsigned size;
|
||||
unsigned off;
|
||||
NSString *name;
|
||||
NSString *cap;
|
||||
|
||||
if ([[self class] useStoredAccessor] == NO)
|
||||
{
|
||||
return [self valueForKey: aKey];
|
||||
}
|
||||
|
||||
name = [NSString stringWithFormat: @"_get%@", [aKey capitalizedString]];
|
||||
size = [aKey length];
|
||||
if (size < 1)
|
||||
{
|
||||
[NSException raise: NSInvalidArgumentException
|
||||
format: @"storedValueForKey: ... empty key"];
|
||||
}
|
||||
cap = [[aKey substringToIndex: 1] uppercaseString];
|
||||
if (size > 1)
|
||||
{
|
||||
cap = [cap stringByAppendingString: [aKey substringFromIndex: 1]];
|
||||
}
|
||||
|
||||
name = [NSString stringWithFormat: @"_get%@", cap];
|
||||
sel = NSSelectorFromString(name);
|
||||
if (sel == 0 || [self respondsToSelector: sel] == NO)
|
||||
{
|
||||
|
@ -1952,8 +1965,7 @@ GSSetValue(NSObject *self, NSString *key, id val, SEL sel,
|
|||
}
|
||||
if (type == NULL)
|
||||
{
|
||||
name = [NSString stringWithFormat: @"get%@",
|
||||
[aKey capitalizedString]];
|
||||
name = [NSString stringWithFormat: @"get%@", cap];
|
||||
sel = NSSelectorFromString(name);
|
||||
if (sel == 0 || [self respondsToSelector: sel] == NO)
|
||||
{
|
||||
|
@ -1985,7 +1997,18 @@ GSSetValue(NSObject *self, NSString *key, id val, SEL sel,
|
|||
return;
|
||||
}
|
||||
|
||||
cap = [aKey capitalizedString];
|
||||
size = [aKey length];
|
||||
if (size < 1)
|
||||
{
|
||||
[NSException raise: NSInvalidArgumentException
|
||||
format: @"takeStoredValue:forKey: ... empty key"];
|
||||
}
|
||||
cap = [[aKey substringToIndex: 1] uppercaseString];
|
||||
if (size > 1)
|
||||
{
|
||||
cap = [cap stringByAppendingString: [aKey substringFromIndex: 1]];
|
||||
}
|
||||
|
||||
name = [NSString stringWithFormat: @"_set%@:", cap];
|
||||
type = NULL;
|
||||
sel = NSSelectorFromString(name);
|
||||
|
@ -2024,7 +2047,18 @@ GSSetValue(NSObject *self, NSString *key, id val, SEL sel,
|
|||
NSString *cap;
|
||||
NSString *name;
|
||||
|
||||
cap = [aKey capitalizedString];
|
||||
size = [aKey length];
|
||||
if (size < 1)
|
||||
{
|
||||
[NSException raise: NSInvalidArgumentException
|
||||
format: @"takeValue:forKey: ... empty key"];
|
||||
}
|
||||
cap = [[aKey substringToIndex: 1] uppercaseString];
|
||||
if (size > 1)
|
||||
{
|
||||
cap = [cap stringByAppendingString: [aKey substringFromIndex: 1]];
|
||||
}
|
||||
|
||||
name = [NSString stringWithFormat: @"set%@:", cap];
|
||||
type = NULL;
|
||||
sel = NSSelectorFromString(name);
|
||||
|
@ -2094,12 +2128,25 @@ GSSetValue(NSObject *self, NSString *key, id val, SEL sel,
|
|||
- (id) valueForKey: (NSString*)aKey
|
||||
{
|
||||
SEL sel = 0;
|
||||
NSString *cap;
|
||||
NSString *name = nil;
|
||||
const char *type = NULL;
|
||||
unsigned size;
|
||||
unsigned off;
|
||||
|
||||
name = [NSString stringWithFormat: @"get%@", [aKey capitalizedString]];
|
||||
size = [aKey length];
|
||||
if (size < 1)
|
||||
{
|
||||
[NSException raise: NSInvalidArgumentException
|
||||
format: @"valueForKey: ... empty key"];
|
||||
}
|
||||
cap = [[aKey substringToIndex: 1] uppercaseString];
|
||||
if (size > 1)
|
||||
{
|
||||
cap = [cap stringByAppendingString: [aKey substringFromIndex: 1]];
|
||||
}
|
||||
|
||||
name = [@"get" stringByAppendingString: cap];
|
||||
sel = NSSelectorFromString(name);
|
||||
if (sel == 0 || [self respondsToSelector: sel] == NO)
|
||||
{
|
||||
|
@ -2107,8 +2154,7 @@ GSSetValue(NSObject *self, NSString *key, id val, SEL sel,
|
|||
sel = NSSelectorFromString(name);
|
||||
if (sel == 0 || [self respondsToSelector: sel] == NO)
|
||||
{
|
||||
name = [NSString stringWithFormat: @"_get%@",
|
||||
[aKey capitalizedString]];
|
||||
name = [@"_get" stringByAppendingString: cap];
|
||||
sel = NSSelectorFromString(name);
|
||||
if (sel == 0 || [self respondsToSelector: sel] == NO)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue