59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
return [ret autorelease];
}
+ (id)objectByDeserializingString: (OFString*)string
{
OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init];
OFXMLElement *root = [OFXMLElement elementWithXMLString: string];
OFXMLElement *element;
id object;
if ([[root children] count] != 1)
@throw [OFInvalidArgumentException newWithClass: self
selector: _cmd];
element = [[root children] firstObject];
object = [[self objectByDeserializingXMLElement: element] retain];
@try {
[pool release];
} @catch (id e) {
[object release];
@throw e;
}
|
|
>
>
>
|
<
|
>
|
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
return [ret autorelease];
}
+ (id)objectByDeserializingString: (OFString*)string
{
OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init];
OFXMLElement *root = [OFXMLElement elementWithXMLString: string];
OFArray *elements;
id object;
elements = [root elementsForName: @"object"
namespace: OF_SERIALIZATION_NS];
if ([elements count] != 1)
@throw [OFInvalidArgumentException newWithClass: self
selector: _cmd];
object = [[self objectByDeserializingXMLElement: [elements firstObject]]
retain];
@try {
[pool release];
} @catch (id e) {
[object release];
@throw e;
}
|