66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
}
return self;
}
- (instancetype)initWithSerialization: (OFXMLElement *)element
{
self = [super of_init];
@try {
void *pool = objc_autoreleasePoolPush();
if (![element.name isEqual: self.className] ||
![element.namespace isEqual: OFSerializationNS])
@throw [OFInvalidArgumentException exception];
_name = [[element attributeForName: @"name"].stringValue copy];
_namespace = [[element attributeForName: @"namespace"]
.stringValue copy];
_stringValue = [[element attributeForName: @"stringValue"]
.stringValue copy];
objc_autoreleasePoolPop(pool);
} @catch (id e) {
[self release];
@throw e;
}
return self;
|
|
>
|
|
|
|
|
|
>
>
>
|
>
>
>
>
>
>
|
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
}
return self;
}
- (instancetype)initWithSerialization: (OFXMLElement *)element
{
void *pool;
OFString *name, *namespace, *stringValue;
@try {
pool = objc_autoreleasePoolPush();
if (![element.name isEqual: self.className] ||
![element.namespace isEqual: OFSerializationNS])
@throw [OFInvalidArgumentException exception];
name = [element attributeForName: @"name"].stringValue;
namespace = [element attributeForName: @"namespace"]
.stringValue;
stringValue = [element attributeForName: @"stringValue"]
.stringValue;
} @catch (id e) {
[self release];
@throw e;
}
self = [self initWithName: name
namespace: namespace
stringValue: stringValue];
@try {
objc_autoreleasePoolPop(pool);
} @catch (id e) {
[self release];
@throw e;
}
return self;
|
174
175
176
177
178
179
180
181
182
183
184
185
|
objc_autoreleasePoolPop(pool);
return [element autorelease];
}
- (OFString *)description
{
return [OFString stringWithFormat: @"<OFXMLAttribute: name=%@, "
@"namespace=%@, stringValue=%@>",
_name, _namespace, _stringValue];
}
@end
|
|
|
>
|
|
184
185
186
187
188
189
190
191
192
193
194
195
196
|
objc_autoreleasePoolPop(pool);
return [element autorelease];
}
- (OFString *)description
{
return [OFString stringWithFormat: @"<%@: name=%@, namespace=%@, "
@"stringValue=%@>",
self.class, _name, _namespace,
_stringValue];
}
@end
|