AppleiPhoneSDKプロジェクトから抜粋した例を次に示します。
@interface EADSessionController : NSObject <EAAccessoryDelegate, NSStreamDelegate> {
EAAccessory *_accessory;
EASession *_session;
NSString *_protocolString;
NSMutableData *_writeData;
NSMutableData *_readData;
}
...
// initialize the accessory with the protocolString
- (void)setupControllerForAccessory:(EAAccessory *)accessory withProtocolString:(NSString *)protocolString
{
[_accessory release];
_accessory = [accessory retain];
[_protocolString release];
_protocolString = [protocolString copy];
}
私の理解では、「コピー」は引数として渡されたprotocolStringオブジェクトをコピーするために必要なメモリも割り当てるため、コピーする前に何かを割り当てる(割り当てる)必要はありません。
私は正しいですか?
よろしく、Apple92