我想創建一個我想使用該類的屬性名稱和屬性值序列化爲XML的類。對於我創造了我的基類中的下列功能(從我會得到我的所有其他類):EXC_BAD_ACCESS訪問屬性時的異常
- (NSString*) serialize
{
unsigned int outCount, i;
NSMutableString* s = [NSMutableString string];
Class currentClass = [self class];
while(currentClass != nil) {
objc_property_t *properties = class_copyPropertyList([self class], &outCount);
if(outCount > 0) {
for(i = 0; i < outCount; i++) {
objc_property_t property = properties[i];
NSString *name = [NSString stringWithCString: property_getName(property) encoding: NSUTF8StringEncoding];
[s appendFormat: @"<%@>%@</%@>", name, (NSString*)property, name];
}
}
free(properties);
}
return (NSString*)s;
}
@end
我假設所有屬性是(非原子,強)的NSString *(現在 - 一個更復雜的代碼會在稍後發佈)。現在由於某種原因,當我上線
[s appendFormat: @"<%@>%@</%@>", name, (NSString*)property], name];
我得到一個EXC_BAD_ACCESS異常。 我在做什麼錯? 在此先感謝!
你的意思是[s appendFormat:@「<%@>%@%@>」,name,(NSString *)property,name]; not [s appendFormat:@「<%@>%@%@>」,name,(NSString *)property],name];對 ? – msk
@MSK,對!修復它在原來的問題。 – PeterD