I'm a little confused when coding an Objective-C project. The ARC is on. Here is a sample code:
NSString *foo = [[NSString alloc] initWithUTF8String:"This is a C string."];
// Use foo here...
foo = @"This is an ObjC string."
No memory leakage. The ARC-configured compiler will generate code to release the first string that was being referenced before assigning the new string.
No change. You may get a compile-time warning if the types aren't compatible.