I am using NSData to store structs in an NSMutableArray. However, NSData returns the structs as const, so I can not change them. How to unconst them? Also, does a better way to store structs in an NSMutableArray exist?
This is the way of Objective-C, and a very good habit to get into. If you need to use a struct, define it as an ivar of an object. Then the object can provide either components of the struct or simply a pointer to it.
Why do this? Because at some point down the road, you might find it convenient to write this object to a file or stream. By adopting NSCoding protocol, your object's data becomes very portable and your work is greatly simplified.