recursiveDescription on p. 361


#1

Hi!

Great book, so far.
We are using it for my iOS programming class in Austin, TX at the local community college. My prof is currently distracted with some family issues, so I do not want to bother him.

I have coded all your examples in the iOS Prgramming 2nd ed book upto ch 21. The xcode compiler does not like:

#ifdef VIEW_DEBUG
NSLog(@"%@", [self.window recursiveDescription]);
#endif

(I cut and paste from my code). It complains with a compile erorr - red -, “Receiver type ‘UIWindow’ for instance message does not declare a method with selector ‘recursiveDescription’”

I am not sure what the issue is. I download the sample code for the website. I used FileMerge to compare all the files in my project to the files in the sample project. I do not see any significant differences.

I should point that I am using:
Xcode 4.2
building iOS 5.0

In addition, I am not able to locate recursiveDescription in the Xcode documentation.

I may set some other compiler/linker options to a higher number. I think it was something like 3.1 or 3.2 to 4.? I am having trouble finding that now.

I commented out the problem line and the project compiles and executes with no problems.

I compiled and executed the sample project. I see:

2011-11-27 14:10:35.695 TouchTracker[2730:b303] <UIWindow: 0x4e16520; frame = (0 0; 320 480); opaque = NO; autoresize = RM+BM; layer = <CALayer: 0x4e165d0>>
| <TouchDrawView: 0x4e168b0; frame = (0 20; 320 460); autoresize = W+H; layer = <CALayer: 0x4e16940>>
kill
quit

I appreciate any help that you can provide, but I do not claim to be an expert by any means.

I appreciate any help that you can provide.

Thank you for your time.

Have a good day!

Jeff Pape


#2

Yeah, with ARC, you can’t send a message that hasn’t been declared. The way around it is this:

[object performSelector:@selector(recursiveDescription)];