trying to write a program from a book by Stephen Kochan
the program compiled ok but my output doesen't match the output from the book.
here is my testfile which i called prog17.2.m
output from my program
output from book:
just wondering what i am doing wrong (if anything)?
the program compiled ok but my output doesen't match the output from the book.
here is my testfile which i called prog17.2.m
Code:
// reference counting with string objects
#import <Foundation/NSObject.h>
#import <Foundation/NSAutoreleasePool.h>
#import <Foundation/NSString.h>
#import <Foundation/NSArray.h>
#import <stdio.h>
int main (int argc, char *argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSString *myStr1 = @"Constant string";
NSString *myStr2 = [NSString stringWithString:
@"string 2"];
NSMutableString *myStr3 = [NSMutableString stringWithString:
@"string 3"];
NSMutableArray *myArr = [NSMutableArray array];
printf ("Retain count: myStr1: %x, myStr2: %x, myStr3: %x\n",
[myStr1 retainCount], [myStr2 retainCount],
[myStr3 retainCount]);
[myArr addObject: myStr1];
[myArr addObject: myStr2];
[myArr addObject: myStr3];
printf ("Retain count: myStr1: %x, myStr2: %x, myStr3: %x\n",
[myStr1 retainCount], [myStr2 retainCount],
[myStr3 retainCount]);
[myStr1 retain];
[myStr2 retain];
[myStr3 retain];
printf ("Retain count: myStr1: %x, myStr2: %x, myStr3: %x\n",
[myStr1 retainCount], [myStr2 retainCount],
[myStr3 retainCount]);
// bring the reference count of myStr2 and myStr3 back down to 2
[myStr2 release];
[myStr3 release];
[pool release];
return 0;
}
output from my program
Code:
james-collinss-macbook-pro:prog17 jamescollins$ ./prog17.2
Retain count: myStr1: 7fffffff, myStr2: 7fffffff, myStr3: 1
Retain count: myStr1: 7fffffff, myStr2: 7fffffff, myStr3: 2
Retain count: myStr1: 7fffffff, myStr2: 7fffffff, myStr3: 3
output from book:
Code:
Retain count myStr1: ffffffff, myStr2: 1, myStr3: 1
Retain count myStr1: ffffffff, myStr2: 2, myStr3: 2
Retain count myStr1: ffffffff, myStr2: 3, myStr3: 3
just wondering what i am doing wrong (if anything)?