Right but for people new to iOS dev is this really the best way? Instead of giving a caveat why not give a solution that will work in all situations?
Anybody new to iOS needs to learn that connection:didReceiveData: is called as data is received. There's no way around that. There are two ways to deal with this. The first is to buffer the data as the author suggests. The other approach is to use an incremental parser.