Coding for different platforms like iOS, Android, Windows etc. requires knowledge of languages particular to that platform,along with the availability of required hardware. For eg., coding for iOS platform will require an apple machine like Mac and knowledge of Objective C or swift. SImilarly for Android development you’d require the knowledge of JAVA language and particular hardware for android development.
If you’re thinking of coding an iOS app on a windows hardware, it’s going to be tricky. If you have a good idea and can’t wait for your MAC, you can make do with your windows machine.
In the absence of Apple hardware required for IOS app development, if you want, you can turn your PC into a Hackintosh (Although the performance will not be like the real thing). To do that, there are a lot of online resources that you can use, and your pc should at least have a Dual Core Intel processor with at least 4GB of random-access memory (RAM).
You can simulate Mac OS X installation on your Windows PC with the help of virtualisation software like VirtualBox or iAtkos.
After you’ve made your Hackintosh or OS X Virtual machine, you need to install xcode, to begin coding. Xcode is an integrated development environment (IDE) that is required for iOS development. To test your app you can use iOS simulator.
If you want to go completely legit, you can also opt for Macincloud. It is basically a remote rental service by Mac that allows users to access mac hardware over the internet. Although it can be slow option, it is there for you to use.
Other than this, you can also checkout cross-platform development tools like Xamarin, PhoneGap, Appcelerator etc. Cross-platform development may require a skills in both web and app development; but it offers IDE for multi-platform coding with just one base-code.
These are some of the ways that you can develop for iOS, while using Windows.