Это:
-(id) showmessage:(NSString *)trans
{
NSLog(@"%@ This is in the transition class",message);
return trans;
}
не имеет смысла.Прежде всего, если вы используете класс только для NSLog NSString *, почему бы просто не вернуть NSString *?Кроме того, вы хотите NSLog объект, переданный в методе, потому что это все, что имеет значение здесь.Вот мои предлагаемые правки:
-(NSString*) showmessage:(NSString *)trans
{
NSLog(@"%@ This is in the transition class",trans);
return trans;
}
Если это не сработает или выдает ноль, то вы определенно не вступаете во владение или не предлагаете достаточно сильную длину сохранения строки, которую вы передаете этому методу.
Или, чтобы использовать другой подход, вы подразумеваете, что хотите, чтобы класс объекта проходил, поэтому вы решили вернуть (id), и в этом случае вы можете попробовать
NSLog(@"%@ This is in the transition class",NSStringFromClass([trans class]));
или даже добавьте аргумент отправителя в ваш метод: -(NSString*) showmessage:(NSString *)trans withSender:(id)sender;