Часто более важно сделать это с вершины стека, поэтому:
В подклассе или категории UINavigationController:
- (void)popToLast:(Class)aClass
{
for (int i=self.viewControllers.count-1; i>=0; i--)
{
UIViewController *vc = self.viewControllers[i];
if ([vc isKindOfClass:aClass])
{
[self popToViewController:vc animated:YES];
break;
}
}
}
, и вы называете это
popToLast:[SomeViewController class];
cout << "Press Enter to Continue";
cin.ignore();
или, лучше:
#include <limits>
cout << "Press Enter to Continue";
cin.ignore(std::numeric_limits<streamsize>::max(),'\n');
Попробуйте:
char temp;
cin.get(temp);
или, еще лучше:
char temp = 'x';
while (temp != '\n')
cin.get(temp);
Я думаю, что строковый ввод будет ждать, пока вы не введете реальные символы, а не только новую строку.
Замените cin >> temp
на:
temp = cin.get();
http://www.cplusplus.com/reference/iostream/istream/get/
cin> >
будет ждать EndOfFile. По умолчанию для cin будет установлен флаг skipws , что означает, что он «пропускает» любые пробелы, прежде чем они будут извлечены и помещены в вашу строку.