Передача переменной из функции Void в другой класс - PullRequest
0 голосов
/ 18 марта 2012

Доброе утро,

Я пытался создать динамическое окно сообщения на UIAlertView, но я не управлял, я отправляю данные из одного класса в другой с помощью команды:

   message = @"Now Starting Download";
   transition.message = self.message;
    NSLog(@"%@",message);

Здесь показано сообщение @"Now Starting Download" Когда я перехожу к другому классу (переходный класс), я реализую, используя этот код:

-(id) showmessage:(NSString *)trans
{

    NSLog(@"%@ This is in the transition class",message);

    return trans;
}

и сообщение теперь пусто: @

Любая помощь будет оценена

-Крис

Ответы [ 2 ]

0 голосов
/ 18 марта 2012

Это:

-(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;

0 голосов
/ 18 марта 2012

Я не уверен, что означает «перейти», но если showmensage является методом объекта перехода, вы можете использовать полное имя:

 -(id) showmessage:(NSString *)trans {
      NSLog(@"%@ This is in the transition class",self.message);
      return trans;
   }

С другой стороны, мне интересно, почему вы передаете trans в showmensage, если не используете его.

...