@autoreleasepool 初步使用
2023-07-04 本文已影响0人
林希品
不良代码
{
@autoreleasepool {
NSUInteger *userCount = userDatabase.userCount;
for(NSUInteger *i = 0; i < userCount; i++) {
Person *p = [userDatabase userAtIndex:i];
NSString *fname = p.fname;
if(fname == nil) {
fname = [self askUserForFirstName];
}
NSString *lname = p.lname;
if(lname == nil) {
lname = [self askUserForLastName];
}
//...
[userDatabase updateUser:p];
}
}
}
好的代码
{
@autoreleasepool {
NSUInteger *userCount = userDatabase.userCount;
for(NSUInteger *i = 0; i < userCount; i++) {
@autoreleasepool {
Person *p = [userDatabase userAtIndex:i];
NSString *fname = p.fname; if(fname == nil) {
fname = [self askUserForFirstName];
}
NSString *lname = p.lname;
if(lname == nil) {
lname = [self askUserForLastName];
}
//...
[userDatabase updateUser:p];
}
}
}
}