Эта строка:
string = @"%@M", anotherstring;
синтаксически правильно, но оно не делает то, что вы хотите. Вот как вы форматируете строку:
NSString *string = [[NSString alloc] initWithFormat:@"%@M", anotherstring];
Нет смысла разделять его на две строки. Это:
NSString *string = [[NSString alloc] init];
string = [[NSString alloc] initWithFormat:@"%@M", anotherstring];
создаст дополнительный NSString
объект, а также вызовет утечку памяти.