Это можно записать в файл, перенаправив стандартный вывод команды ECHO.
ECHO>file.ps1 powershell send-mailmessage ^
-to "alerts@address.com" ^
-from "info@address.com" ^
-subject "Virus alert" ^
-body "Cryptolocker variant detected on $env:computername " ^
-smtp "companyname-com.mail.protection.outlook.com"
Если вы пишете в файл .ps1, зачем вам нужно запускать другой экземпляр PowerShell? Чтобы запустить скрипт PowerShell, оставьте команду powershell
и просто используйте:
powershell -NoLogo -NoProfile -File file.ps1
Довольно распространено рисовать все в закадровом изображении и просто отображать это изображение при рисовании экрана. Вы можете прочитать: Создание контекста растровой графики .
Похоже, этот метод лучше, чем я использовал. То есть при касании я делаю копию представления, которое будет обновлено. Затем в drawRect я беру это изображение и рисую его в представлении и одновременно изменяю другое представление.
Но это кажется неэффективным, но единственный способ, которым я понял, как это сделать.
Об оптимизации drawRect
Попробуйте следующее:
- (void)drawRect:(CGRect)rect {
CGContextRef context = UIGraphicsGetCurrentContext();
CGImageRef cgImage = CGBitmapContextCreateImage(drawingContext);
CGContextClipToRect(context, rect);
CGContextDrawImage(context, CGRectMake(0, 0, self.frame.size.width, self.frame.size.height), cgImage);
CGImageRelease(cgImage);
}
После этого вы также должны прокомментировать эти строки в своем коде:
//CGContextTranslateCTM(context, 0, size.height);
//CGContextScaleCTM(context, 1.0, -1.0);
Также создал отдельный вопрос , чтобы убедиться, что это оптимальный способ.