이상적으로는 NSMutableArray에 객체를 추가하고 다른 함수에서이 배열로 원하는 모든 작업을 수행하고 싶습니다. 여기 다른 함수에서 선언 된 NSMutableArray에 객체 추가
나는 그것이 작동하지 않습니다 물론, 최근에 수행 할 시도했다지만 그것은 당신에게 내가하고 싶은 것에 대한 아이디어를 제공합니다 :- (void)someThing
{
(...)
NSMutableArray *arrayOfThings = [[NSMutableArray alloc] init];
while (theObject = [aNSEnumerator nextObject]) {
const char *theObject_fixed = [theObject UTF8String];
function_something(theObject_fixed);
}
// do something with arrayOfThings
}
void function_something(const char *file)
{
(...)
unsigned int *p = memmem(buffer, fileLen, bytes, 4);
NSMutableString *aString = [[NSMutableString alloc] initWithCapacity:48];
unsigned long off_to_string = 0x10 + 4 + ((void *)p) - ((void *)buffer);
for (unsigned long c = off_to_string; c<off_to_string+0x30; c++)
{
[aString appendFormat:@"%.2x", (int)buffer[c]];
}
NSLog(@"%s: %@", file, aString);
[arrayOfThings addObject:[aString copy]];
free(buffer);
감사합니다. 두 번째 솔루션을 선택했는데 완벽하게 작동합니다! 그건 그렇고, 내가 누출 된 이유를 설명해 줄 수 있니? – b1onic
함수의 function_something에 alloc/init을 사용하고 있으므로 해당 문자열에서 보유 개수가 1이므로 결코 해제되지 않습니다. – aLevelOfIndirection