我需要將CFNumberRef
類型的值提供給CFReadStreamSetProperty()
。我正在與合作,由CFReadStreamCreateForHTTPRequest()
返回。我應該撥打CFRelease()
來撥打我的CFNumberRef
,還是必須保留CFNumberRef
直到CFReadStream
存在?作爲值提供給CFReadStreamSetProperty()的對象的生存期
我的代碼如下所示:
void func(..., const long long id)
{
//...
CFReadStreamRef httpReadStream = CFReadStreamCreateForHTTPRequest(...);
//...
CFNumberRef cf_id = CFNumberCreate(kCFAllocatorDefault, kCFNumberLongLongType,
&id);
CFReadStreamSetProperty(httpReadStream, CFSTR("myId"), cf_id);
}
所以我應該叫CFRelease(cf_id)
和它的問題如果cf_id
被httpReadStream
之前發佈?