2014-04-02 3 views
0

상수에 매크로를 사용하고 있습니다. 여기 내 코드가있다.여러 줄을 매크로에 전달

#define kTermsConditions(message) [NSString stringWithFormat:@"USER TERMS AND CONDITIONS 

PLEASE READ THIS BEFORE ACCESSING THE INC. (“”) ONLINE SERVICE. BY ACCESSING THE U, YOU AGREE TO BE BOUND BY THE TERMS AND CONDITIONS BELOW. IF YOU DO NOT WISH TO BE BOUND BY THESE TERMS AND CONDITIONS, YOU MAY NOT USE THE SITE. 

1. ALL PERSONS USING THIS SITE AGREE TO REPORT ON (MANIFESTS) IN ACCORDANCE WITH 49 U.S.C, AND 8 C.F.R. PARTS 217, 231, AND 251. 

2. USERS MUST BE AFFILIATED WITH AN APPROVED OPERATOR. AN CHOOSING TO USE THE SERVICES OF SUCH USER, WHETHER AN AIRCRAFT OPERATOR EMPLOYEE OR A THIRD-PARTY, IS SPECIFICALLY AWARE THAT IT IS LIABLE FOR ALL ACTIONS OR INACTION OF THE USER WHILE TRANSMITTING ON ITS BEHALF. RELIANCE ON A REGISTERED USER IS NOT A DEFENSE FOR INCORRECT OR INCOMPLETE DATA, OR FOR PENALTY ACTIONS AGAINST THE. 

3. ELIGIBILITY FOR USE OF AND ACCESS TO THIS SITE IS SUBJECT TO FINAL APPROVAL AND ACCEPTANCE BY. 

그러나 매크로에이 긴 다중 행을 베일을 벗기고 있지는 않습니다. 안내해주십시오.

답변

2

\과 같은 새로운 회선 코드 문자를 추가해야합니다 (해당 방식이라고하는 경우). 그러면 문자열이 다음 줄에서 계속 될 것임을 컴파일러에 알립니다.

#define kTermsConditions(message) [NSString stringWithFormat:@"USER TERMS AND CONDITIONS\ 
\ 
PLEASE READ THIS BEFORE ACCESSING THE INC. (“”) ONLINE SERVICE. BY ACCESSING THE U, YOU AGREE TO BE BOUND BY THE TERMS AND CONDITIONS BELOW. IF YOU DO NOT WISH TO BE BOUND BY THESE TERMS AND CONDITIONS, YOU MAY NOT USE THE SITE.\ 
\n\n\ 
1. ALL PERSONS USING THIS MCL/APIS SITE AGREE TO REPORT ON (MANIFESTS) IN ACCORDANCE WITH 49 U.S.C, AND 8 C.F.R. PARTS 217, 231, AND 251.\ 
\n\n\ 
2. USERS MUST BE AFFILIATED WITH AN APPROVED OPERATOR. AN CHOOSING TO USE THE SERVICES OF SUCH USER, WHETHER AN AIRCRAFT OPERATOR EMPLOYEE OR A THIRD-PARTY, IS SPECIFICALLY AWARE THAT IT IS LIABLE FOR ALL ACTIONS OR INACTION OF THE USER WHILE TRANSMITTING ON ITS BEHALF. RELIANCE ON A REGISTERED MCL/APIS USER IS NOT A DEFENSE FOR INCORRECT OR INCOMPLETE DATA, OR FOR PENALTY ACTIONS AGAINST THE.\ 
\n\n\ 
3. ELIGIBILITY FOR USE OF AND ACCESS TO THIS SITE IS SUBJECT TO FINAL APPROVAL AND ACCEPTANCE BY."] 
0

세 가지 당신은 알고 있어야합니다

얼마나 불가능한 긴 줄을하지 않고 긴 문자열을 만들 : 그것은 매우 간단합니다. 여러 개의 문자열 리터럴을 하나씩 작성하면 컴파일러는이를 하나로 변환합니다. 예를 들어

@"This " 
"is " 
"a " 
"very " 
"long " 
"string." 

은 정확히 같은 줄 바꿈 (DO 포함하는 문자열을 생성하는 방법

@"This is a very long strong." 

같은 당신이있는 경우에만로, 여러 단락에서 올하려는 텍스트의 예를 들면,) : 문자열에 \ n을 삽입하기 만하면됩니다.

매우 긴 매크로 만들기 방법 : 줄의 마지막 문자가 공백 문자가 아닌 뒤 따르는 백 슬래시 문자 인 경우 컴파일러는 해당 줄을 다음 줄과 연결합니다. 이것을 사용하여 긴 매크로를 작성하십시오. 예 :

#define MYSTRING @"This "\ 
    "is "\ 
    "a "\ 
    "very "\ 
    "long "\ 
    "macro. " 
관련 문제