在下面的函数中,哪个是最佳实践?
1. 发送一个自释放对象,并使调用者保留它? 2. 发送一个已分配对象,并使调用者释放它?
- (NSString*) convertDataToString :(NSData*)myData { //这只是一个例子,该方法可能不存在 NSString *str = [[NSString alloc] initWithData:myData]; return str; return [str autorelease]; }
1. 发送一个自释放对象,并使调用者保留它? 2. 发送一个已分配对象,并使调用者释放它?
- (NSString*) convertDataToString :(NSData*)myData { //这只是一个例子,该方法可能不存在 NSString *str = [[NSString alloc] initWithData:myData]; return str; return [str autorelease]; }
NSString
没有initWithData:
方法,而是有一个initWithData:encoding:
方法。 - dreamlaxconvertDataToString:
方法的。 - dreamlax