이 기능에 대한 전체 문서는 (인터페이스가 crt_externs.h
에 존재)이 있습니까 : _NSGetArgc
및 _NSGetArgv
내가이 기능에 대한 애플의 웹 사이트에있는 모든 문서를 얻을 수 없습니다.액세스 명령 행 인수
답변
, 당신은 할 수 있습니다 :
NSArray *arguments = [[NSProcessInfo processInfo] arguments];
이러한 함수의 접두사가 "_"로되어 있기 때문에 대개 사적인 것으로 사용자가 사용하지 않기로 한 기호입니다. 명령 줄 인수를 얻어야하는 경우 NSProcessInfo를 조회하는 것이 더 좋은 방법입니다. 당신이 할 필요가 코코아의 명령 행 인수를 얻을 경우
감사합니다.이 기사 (http://unixjunkie.blogspot.com/2006/07/access-argc-and-argv-from-anywhere.html)를 읽었으며이 기능과 용량에 대해 궁금합니다. 어디서나 명령 줄 인수에 액세스 할 수 있습니다. – iPadDevloperJr
@Evariste 예, 어디에서나 사용할 수 있습니다. NSProcess info는 현재 프로세스에 대한 정보를 반환합니다. – s73v3r
또한 Greg Miller 또는 Alex Rozanski하여 블로그 게시물에 설명 된대로 NSUserDefaults
을 사용하여 명령 줄 인수에 액세스 할 수 있습니다.
기본적으로 [NSUserDefaults standardUserDefaults]
을 호출하여 NSUserDefaults
인스턴스를 가져온 다음 boolForKey:
또는 stringForKey:
과 같은 메시지를 사용하여 값에 액세스합니다.
공식 Apple 설명서는 here입니다.
알렉스로 잔 스키 (Alex Rozanski)가 독자적으로 게시물을 발견 할 때까지이 대답을 알지 못했습니다. 설명 된 방법 중 하나가 선호됩니까? NSUserDefaults를 사용하는쪽으로 향하고 있는데 그 이유는 인수를 구문 분석 할 필요가 없으며 값을 생략하지 않았 음을 확인하기 때문입니다. NSUserDefaults 메서드를 사용하지 않는 이유가 없는지 확인하고 싶습니다. – GTAE86
선호하는 방법이 있는지 나는 모른다. 그러나이 메소드를 사용하여'objectForKey :'가'nil'을 리턴하는지 평가하여 명령 행 옵션이 사용되는지 확인합니다. 샘플 코드는 https://github.com/mkroehnert/SaneKit/blob/master/Tools/scantool.m#L79에서 찾을 수 있습니다. – MKroehnert
- 1. 기본 명령 행 인수
- 2. Bash에서 명령 행 인수 변경
- 3. getopt를 사용한 명령 행 옵션과 인수
- 4. bsc의 Rscript에 대한 명령 행 인수
- 5. 최고의 C++ 명령 행 인수 파서
- 6. Qt 애플리케이션에서 명령 행 인수 얻기
- 7. C의 인수 전후의 명령 행 옵션 처리
- 8. OSX : 앱의 여러 인스턴스 실행 및 명령 행 인수 전달
- 9. Eclipse : OS X .app 디렉토리에 명령 행 인수 추가
- 10. Java Eclipse 실행 시간에 지속적으로 명령 행 인수 사용
- 11. 인트로 스펙 션을 통해 구문 분석하는 명령 행 인수
- 12. Rails 앱에 앱 별 명령 행 인수 전달 (서버 시작시)?
- 13. 변경 명령 줄 인수
- 14. 명령 줄 인수
- 15. 추출 명령 줄 인수
- 16. WinMain 명령 줄 인수
- 17. 명령 줄 인수 배열
- 18. Powershell의 명령 줄 인수
- 19. bash 명령 인수
- 20. XCode의 명령 줄 인수
- 21. 명령 줄 인수 전달
- 22. Emacs 명령 줄 인수
- 23. WPF 명령/클릭 인수
- 24. VS2010의 Visual C++에서 명령 줄 인수
- 25. 파이썬에서 임의의 명령 줄 인수
- 26. 명령 줄 인수 사용 방법
- 27. .NET 명령 줄 인수 bug?
- 28. exe에 대한 명령 줄 인수
- 29. unittest 명령 줄 인수 방법?
- 30. 명령 줄 인수 처리 중입니까?
고마워요.하지만 이건 주 기능에서 괜찮아요? _NSGetArgc 및 _NSGetArgv와 같은 프로그램의 어느 곳에서도 가능하지 않습니다. – iPadDevloperJr
예 - 어느 곳에서나 (나는 그것이 당신에게 그것이 괜찮지 않을 수도 있다는 인상을 주 었는지 모르겠습니다.). – bbum