mirror of
https://github.com/gnustep/libs-base.git
synced 2025-05-31 16:50:58 +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
f00a1d0349
commit
3b093cfe4f
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>
|
2001-04-23 Adam Fedor <fedor@gnu.org>
|
||||||
|
|
||||||
* configure.in: Simplify NeXT checks.
|
* configure.in: Simplify NeXT checks.
|
||||||
|
|
|
@ -1922,13 +1922,26 @@ GSSetValue(NSObject *self, NSString *key, id val, SEL sel,
|
||||||
unsigned size;
|
unsigned size;
|
||||||
unsigned off;
|
unsigned off;
|
||||||
NSString *name;
|
NSString *name;
|
||||||
|
NSString *cap;
|
||||||
|
|
||||||
if ([[self class] useStoredAccessor] == NO)
|
if ([[self class] useStoredAccessor] == NO)
|
||||||
{
|
{
|
||||||
return [self valueForKey: aKey];
|
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);
|
sel = NSSelectorFromString(name);
|
||||||
if (sel == 0 || [self respondsToSelector: sel] == NO)
|
if (sel == 0 || [self respondsToSelector: sel] == NO)
|
||||||
{
|
{
|
||||||
|
@ -1952,8 +1965,7 @@ GSSetValue(NSObject *self, NSString *key, id val, SEL sel,
|
||||||
}
|
}
|
||||||
if (type == NULL)
|
if (type == NULL)
|
||||||
{
|
{
|
||||||
name = [NSString stringWithFormat: @"get%@",
|
name = [NSString stringWithFormat: @"get%@", cap];
|
||||||
[aKey capitalizedString]];
|
|
||||||
sel = NSSelectorFromString(name);
|
sel = NSSelectorFromString(name);
|
||||||
if (sel == 0 || [self respondsToSelector: sel] == NO)
|
if (sel == 0 || [self respondsToSelector: sel] == NO)
|
||||||
{
|
{
|
||||||
|
@ -1985,7 +1997,18 @@ GSSetValue(NSObject *self, NSString *key, id val, SEL sel,
|
||||||
return;
|
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];
|
name = [NSString stringWithFormat: @"_set%@:", cap];
|
||||||
type = NULL;
|
type = NULL;
|
||||||
sel = NSSelectorFromString(name);
|
sel = NSSelectorFromString(name);
|
||||||
|
@ -2024,7 +2047,18 @@ GSSetValue(NSObject *self, NSString *key, id val, SEL sel,
|
||||||
NSString *cap;
|
NSString *cap;
|
||||||
NSString *name;
|
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];
|
name = [NSString stringWithFormat: @"set%@:", cap];
|
||||||
type = NULL;
|
type = NULL;
|
||||||
sel = NSSelectorFromString(name);
|
sel = NSSelectorFromString(name);
|
||||||
|
@ -2094,12 +2128,25 @@ GSSetValue(NSObject *self, NSString *key, id val, SEL sel,
|
||||||
- (id) valueForKey: (NSString*)aKey
|
- (id) valueForKey: (NSString*)aKey
|
||||||
{
|
{
|
||||||
SEL sel = 0;
|
SEL sel = 0;
|
||||||
|
NSString *cap;
|
||||||
NSString *name = nil;
|
NSString *name = nil;
|
||||||
const char *type = NULL;
|
const char *type = NULL;
|
||||||
unsigned size;
|
unsigned size;
|
||||||
unsigned off;
|
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);
|
sel = NSSelectorFromString(name);
|
||||||
if (sel == 0 || [self respondsToSelector: sel] == NO)
|
if (sel == 0 || [self respondsToSelector: sel] == NO)
|
||||||
{
|
{
|
||||||
|
@ -2107,8 +2154,7 @@ GSSetValue(NSObject *self, NSString *key, id val, SEL sel,
|
||||||
sel = NSSelectorFromString(name);
|
sel = NSSelectorFromString(name);
|
||||||
if (sel == 0 || [self respondsToSelector: sel] == NO)
|
if (sel == 0 || [self respondsToSelector: sel] == NO)
|
||||||
{
|
{
|
||||||
name = [NSString stringWithFormat: @"_get%@",
|
name = [@"_get" stringByAppendingString: cap];
|
||||||
[aKey capitalizedString]];
|
|
||||||
sel = NSSelectorFromString(name);
|
sel = NSSelectorFromString(name);
|
||||||
if (sel == 0 || [self respondsToSelector: sel] == NO)
|
if (sel == 0 || [self respondsToSelector: sel] == NO)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue