iOS Development--swift & Classic Syntax (c) statements

Source: Internet
Author: User
Tags scalar tag name
<span id="Label3"></p>Statement<p><p>In Swift, there are two types of statements: simple statements and Control-flow Statements. Simple statements are the most common and are used to construct expressions and <span id="39_nwp" style="width: auto; height: auto; float: none;"> <span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;">declarations</span> . Control flow statements are used in the process of program execution, and Swift has three types of control flow statements: Loop statements, Branch statements, and Control pass Statements.</span></p></p><p><p>Loop statements are used to repeat code blocks; branch statements are used to execute code blocks that meet certain criteria; control pass statements are used to modify the order in which code is Executed. In a later narrative, each type of control flow statement will be described in Detail.</p></p><p><p>Whether to add a semicolon (;) to the end of the statement is Optional. however, to write multiple independent statements within the same line, be sure to use Semicolons.</p></p> <ol> <ol> <li>GRAMMAR of A STATEMENT</li> <li>statement→expression; Opt</li> <li>statement→declaration; Opt</li> <li>statement→loop-statement; Opt</li> <li>statement→branch-statement; Opt</li> <li>statement→ <span id="38_nwp" style="width: auto; height: auto; float: none;"> <span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;">label</span>ed-statement</span></li> <li>statement→control-transfer-statement; Opt</li> <li>Statement→statment statements; <span id="37_nwp" style="width: auto; height: auto; float: none;"> <span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;">opt</span></span></li> </ol> </ol><p><p><span style="font-size: large;"><span style="color: #ff0000;"><strong>Looping statements</strong></span><br>Depending on the specific loop condition, The Loop statement allows the code block to be executed repeatedly. Swift provides four types of looping statements: for statements, for-in statements, while statements, and Do-while Statements.</span></p></p><p><p>The control flow of a looping statement can be changed through the break statement and the Continue Statement. For more information about these two statements, <span id="36_nwp" style="width: auto; height: auto; float: none;"> <span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;">see</span> The break statement and the Continue Statement.</span></p></p> <ol> <ol> <li>GRAMMAR of A LOOP STATEMENT</li> <li>Loop-statement→for-statement</li> <li>Loop-statement→for-in-statement</li> <li>Loop-statement→while-statement</li> <li>Loop-statement→do-while-statement</li> </ol> </ol><p><p><span style="color: #ff6600;"><strong>For statement</strong></span></p></p> <ul> <ul> <li>The For statement allows you to increment a counter while repeatedly executing a block of Code.</li> <li>The For statement is in the following form:</li> <li>For <code>initialzation</code> ; <code>condition</code> ; <code>increment</code> {</li> <li><code>statements</code></li> <li>}</li> <li>The semicolon between initialzation, condition, and increment, and the curly braces that surround the loop body statements, are not to be omitted.</li> <li>The execution flow for the For statement is as Follows:</li> </ul> </ul> <ul> The <ul> <li> initialzation will only be executed once, usually for <span id="35_nwp" style="width:auto; height:auto; float:none;"><span style="color: #0000ff; font-size:18px; width:auto; height:auto; float:none; "> Declare the </span> </span> and initialize the variables that you want to use in the next loop. <ul> <li id="35_nwp" style="width:auto; height:auto; float:none;"> calculation condition Expression: If true,statements will be executed, Then go to step 3rd. If both false,statements and increment are not executed, for this execution is Complete. <ul> <li id="35_nwp" style="width:auto; height:auto; float:none;"> calculate the increment expression and go to step 2nd. <ul> <li id="35_nwp" style="width:auto; height:auto; float:none;"><span id="35_nwp" style="width:auto; height: Auto float:none; "> the variables defined in Initialzation are valid only within the scope of the for Statement. The type of the value of the condition expression must follow the Logicvalue Protocol. </span></li> </ul></li> </ul></li> </ul></li> </ul> </ul> <ul> <ul> <li>GRAMMAR of A for STATEMENT</li> <li>For-statement→for For-init opt; Expression opt; Expression opt Code-block</li> <li>For-statement→for (for-init <span id="34_nwp" style="width: auto; height: auto; float: none;"> <span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;">opt</span> ; expression opt; expression Opt) Code-block</span></li> <li>for-statement→variable-declaration | Expression-list</li> </ul> </ul><p><p><span style="color: #ff6600;"><strong>for-in statements</strong></span></p></p> <ul> <ul> <li>The for-in statement allows you to iterate over each item in the collection (or any type that follows the sequence Protocol) while repeatedly executing the code BLOCK.</li> <li>The for-in statement is in the following form:</li> <li>For <code>item</code> in <code>collection</code> {</li> <li><code>statements</code></li> <li>}</li> <li>The for-in statement invokes the Generate method of the collection expression before the loop begins to get a value for a generator type (which is a type that follows the generator protocol). Next loop begins, calling the next method of the collection expression <span id="33_nwp" style="width: auto; height: auto; float: none;"> <span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;"></span> . If its return value is not none, it will be assigned to item, then execute statements, and then go back to the beginning of the loop, otherwise it will not be assigned to item and will not execute statements,for-in to this Point.</span></li> <li>GRAMMAR of A for-in STATEMENT</li> <li>For-in-statement→for pattern in Expression Code-block</li> </ul> </ul><p><p><span style="color: #ff6600;"><strong>While statement</strong></span></p></p> <ul> <ul> <li>The while statement allows code blocks to be repeatedly executed.</li> <li>The while statement is in the following form:</li> <li>While <code>condition</code> {</li> <li><code>statements</code></li> <li>}</li> <li>The execution flow of the while statement is as Follows:</li> <li>Calculate condition expression: If true, go to step 2nd. If this is done for false,while, this completes.</li> <li>Execute the statements, and then go to step 1th.</li> <li>Because the value of condition is calculated before statements executes, the statements in the while statement may or may not be executed several times.</li> <li>The type of the value of the condition expression must follow the Logicvalue Protocol. also, condition expressions can use optional bindings, <span id="32_nwp" style="width: auto; height: auto; float: none;"> <span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;">see</span> optional bindings for Details.</span></li> <li>GRAMMAR of A while STATEMENT</li> <li>While-statement→while while-condition Code-block</li> <li>while-condition→expression | Declaration</li> </ul> </ul><p><p><span style="color: #ff6600;"><strong>Do-while statements</strong></span></p></p> <ul> <ul> <li>The Do-while statement allows a block of code to be executed one or more Times.</li> <li>The Do-while statement is in the following form:</li> <li>do {</li> <li><code>statements</code></li> <li>} while<code>condition</code></li> <li>The execution flow of the Do-while statement is as Follows:</li> <li>Execute the statements, and then go to step 2nd.</li> <li>Calculate condition expression: If true, go to step 1th. If this is done for false,do-while, this completes.</li> <li>Because the value of the condition expression is calculated after statements is executed, the statements in the Do-while statement is executed at least once.</li> <li>The type of the value of the condition expression must follow the Logicvalue Protocol. also, condition expressions can use optional bindings, <span id="31_nwp" style="width: auto; height: auto; float: none;"> <span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;">see</span> optional bindings for Details.</span></li> <li>GRAMMAR of A Do-while STATEMENT</li> <li>Do-while-statement→do Code-block while While-condition</li> </ul> </ul><p><p><span style="font-size: large;"><span style="color: #ff0000;"><strong>Branch statements</strong></span><br>Depending on the value of one or more conditions, The branch statement allows the program to execute the specified part of the Code. obviously, the value of the condition in the branch statement will determine how to branch and which piece of code to Execute. Swift provides two types of branching statements: the IF statement and the switch Statement.</span></p></p><p><p>The control flow in the switch statement can be modified with the break statement, see the break statement for Details.</p></p> <ol> <ol> <li>GRAMMAR of A BRANCH STATEMENT</li> <li>Branch-statement→if-statement</li> <li>branch-statement→ <span id="30_nwp" style="width: auto; height: auto; float: none;"> <span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;">Switch</span>-statement</span></li> </ol> </ol><p><p><span id="30_nwp" style="width: auto; height: auto; float: none;"><span style="color: #ff6600;"><strong>If statement</strong></span></span></p></p> <ul> <ul> <li id="30_nwp" style="width: auto; height: auto; float: none;"><span id="30_nwp" style="width: auto; height: auto; float: none;">Depending on the value of one or more conditions, the IF statement determines which piece of code to Execute.</span></li> </ul> </ul> <ul> <li><li>If statements have two standard forms, they must have curly braces in both Forms.</li></li> <li><li>The first form is to execute code when and only if the condition is true, like this:</li></li> <li><li>If <code>condition</code> {</li></li> <li><li><code>statements</code></li></li> <li><li>}</li></li> <li><li>The second form is to add the Else statement on the basis of the first form, when there is only one else statement, as Follows:</li></li> <li><li>If <code>condition</code> {</li></li> <li><li><code>statements to execute if condition is true</code></li></li> <li><li>} else {</li></li> <li><li><code>statements to execute if condition is false</code></li></li> <li><li>}</li></li> <li><li>At the same time, the Else statement can also contain an if statement, which forms a chain to test more conditions, as Follows:</li></li> <li><li>If <code>condition 1</code> {</li></li> <li><li><code>statements to execute if condition 1 is true</code></li></li> <li><li>} else if <code>condition 2</code> {</li></li> <li><li><code>statements to execute if condition 2 is true</code></li></li> <li><li>}</li></li> <li><li>else {</li></li> <li><li><code>statements to exe<span id="1_nwp" style="width: auto; height: auto; float: none;"><span style="color: #0000ff; font-size: 11px; width: auto; height: auto; float: none;">cute</span> if both conditions are false</span></code></li></li> <li><li>}</li></li> <li><li>The type of the value of the condition in the IF statement must follow the Logicvalue Protocol. optionally, The condition can also use optional bindings, <span id="29_nwp" style="width: auto; height: auto; float: none;"> <span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;">see</span> optional bindings for Details.</span></li></li> <li><li>GRAMMAR of an IF STATEMENT</li></li> <li><li>If-statement→if if-condition Code-block else-clause opt</li></li> <li><li>if-condition→expression | Declaration</li></li> <li><li>Else-clause→else Code-block | else if-statement <span id="28_nwp" style="width: auto; height: auto; float: none;"> <span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;">opt</span></span></li></li> </ul><p><p></p></p><p><p><span id="28_nwp" style="width: auto; height: auto; float: none;"><span style="color: #ff6600;"><strong>Switch statement</strong></span></span></p></p> <ul> <ul> <li id="28_nwp" style="width: auto; height: auto; float: none;"><span id="28_nwp" style="width: auto; height: auto; float: none;">Depending on the control expression of the switch statement, the switch statement determines which piece of code to Execute.</span></li> </ul> </ul> <ul> <li><li>The switch statement is in the following form:</li></li> <li><li>Switch <code>control expression</code> {</li></li> <li><li>Case <code>pattern 1</code> :</li></li> <li><li><code>statements</code></li></li> <li><li>Case <code>pattern 2</code> where <code>condition</code> :</li></li> <li><li><code>statements</code></li></li> <li><li>Case <code>pattern 3</code> where <code>condition</code> ,</li></li> <li><li><code>pattern 4</code>where <code>condition</code> :</li></li> <li><li><code>statements</code></li></li> <li><li>Default</li></li> <li><li><code>statements</code></li></li> <li><li>}</li></li> <li><li>The control expression of the switch statement is evaluated first and then matched with the pattern (pattern) of each Case. If the match succeeds, the program executes the statements in the corresponding case Branch. In addition, each case branch cannot be empty, meaning that there is at least one statement in each case Branch. If you do not want to execute the code in the matching case branch, simply write a break statement in the Branch.</li></li> <li><li>The values that can be used as control expressions are very flexible, except for scalar types (scalar types, such as int, Character), you can use any type of value, including floating-point numbers, strings, tuples, instances of custom classes, and optional (<span id="25_nwp" style="width: auto; height: auto; float: none;"><span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;">opt</span> Ional) types, even member values in enumerated types and specified ranges (range), and so On. For <span id="26_nwp" style="width: auto; height: auto; float: none;">more information about using these types in a <span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;">switch</span> statement, <span id="27_nwp" style="width: auto; height: auto; float: none;"> <span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;">See</span> switch in the control flow chapter. </span></span></span></li></li> <li><li>You can add a protective expression (guard expression) behind the Pattern. The protective expression is this: the keyword where is followed by an expression as an additional test Condition. therefore, the statements in the corresponding case branch is executed when and only if the control expression matches one of the cases of a pattern and the protected expression is True. In the following example, the control expression matches only tuples with two equal elements, such as (1, 1):</li></li> <li><li>Case let (x, y) where x = = Y:</li></li> <li><li>As in the example above, you can also use the Let (or Var) statement to bind constants (or variables) in a Pattern. These constants (or variables) can be referenced in the code of their corresponding protective expressions and their corresponding case blocks. however, If there are multiple pattern-matching control expressions in a case, none of these patterns can bind constants (or variables).</li></li> <li><li>The switch statement can also contain the default branch, and the code in the default branch is not executed until the other case branches do not match the control Expression. A switch statement can have only one default branch, and must be on the last side of the switch Statement.</li></li> <li><li>Although the actual order of execution of pattern matching operations, especially the order in which the schemas are evaluated, is not known, Swift specifies that the order of pattern matching in the switch statement is consistent with the order in which the source code is Written. therefore, When multiple schemas have the same value and can match the control expression, the program executes only the code in the first matching case branch of the source Code.</li></li> <li><li>The Switch statement must be complete</li></li> <li><li>In Swift,<span id="24_nwp" style="width: auto; height: auto; float: none;">each possible value of the control expression in a<span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;">switch</span> statement must have at least one case branch corresponding to it. In some cases (for example, the type of an expression is int), you can use the default block to satisfy that Requirement.</span></li></li> <li><li>There is no implicit penetration (fall through)</li></li> <li><li>When the code in the matching case branch finishes executing, the program terminates the switch statement without continuing with the next case Branch. This means that if you want to execute the next case branch, you will need to explicitly use the Fallthrough statement in the branch you Need. For more information about the Fallthrough statement, <span id="23_nwp" style="width: auto; height: auto; float: none;"> <span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;">See</span> The Fallthrough statement for Details.</span></li></li> <li><li>GRAMMAR of A SWITCH STATEMENT</li></li> <li><li>Switch-statement→switch expression {switch-cases opt}</li></li> <li><li>Switch-cases→switch-case switch-cases opt</li></li> <li><li>Switch-case→case-label Statement | Default-label statements</li></li> <li><li><span id="22_nwp" style="width: auto; height: auto; float: none;"><span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;">Switch</span>-case→case-label; | default-label;</span></li></li> <li><li>Case-label→case case-item-list:</li></li> <li><li>Case-item-list→pattern guard-clause <span id="21_nwp" style="width: auto; height: auto; float: none;"> <span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;">opt</span> | pattern guard-clause opt, case-item-list</span></li></li> <li><li>default-<span id="20_nwp" style="width: auto; height: auto; float: none;"><span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;">label</span> →default:</span></li></li> <li><li>Guard-clause→where guard-expression</li></li> <li><li>Guard-expression→expression</li></li> <li><li>Tagged statements</li></li> <li><li>You can precede a loop statement or a switch statement with a label, which consists of a signature and a colon immediately followed by the:). Tag names after break and continue can explicitly change the control flow in a loop statement or switch statement, passing control to the statement labeled by the specified tag. For more information about these two statement usages, see the break statement and the Continue Statement.</li></li> <li><li>The scope of the label is all statements after the statement marked by the Label. You can not use tagged statements, but as long as you use it, the tag name must be Unique.</li></li> <li><li>For an example of using <span id="18_nwp" style="width: auto; height: auto; float: none;"> <span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;">tagged</span> statements, <span id="19_nwp" style="width: auto; height: auto; float: none;"> <span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;">See</span> The Tagged statement in the control flow chapter for Details. </span></span></li></li> <li><li>GRAMMAR of A labeled STATEMENT</li></li> <li><li>Labeled-statement→statement-label Loop-statement | Statement-label <span id="17_nwp" style="width: auto; height: auto; float: none;"> <span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;">Switch</span>-statement</span></li></li> <li><li>Statement-label→label-name:</li></li> <li><li><span id="16_nwp" style="width: auto; height: auto; float: none;"><span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;">label</span>-name→identifier</span></li></li> <li><li></li></li> </ul><p><p><span id="16_nwp" style="width: auto; height: auto; float: none;"><span style="color: #ff0000;"><strong><span style="font-size: large;">Control pass-through statements</span></strong></span></span></p></p><p id="16_nwp" style="width: auto; height: auto; float: none;"><p id="16_nwp" style="width: auto; height: auto; float: none;"><span id="16_nwp" style="width: auto; height: auto; float: none;">By passing control unconditionally from one piece of code to another, control passing statements can change the order in which code Executes. Swift provides four types of control delivery statements: break statements, continue statements, Fallthrough statements, and return Statements.</span></p></p> <ol> <ol> <li>GRAMMAR of A CONTROL transer STATEMENT</li> <li>Control-transfer-statement→break-statement</li> <li>Control-transfer-statement→continue-statement</li> <li>Control-transfer-statement→fallthrough-statement</li> <li>Control-transfer-statement→return-statement</li> </ol> </ol><p><p><strong><span style="color: #ff6600;">Break statement</span></strong></p></p> <ul> <ul> <li>The break statement is used to terminate the execution of a loop or switch statement. When you use the break statement, you can write only the word break, or you can follow the tag name (label Name) after break, like This:</li> </ul> </ul> <ul> <li><li>Break</li></li> <li><li>Break<code>label name</code></li></li> <li><li>When the break statement is followed by a label signature, it can be used to terminate the execution of the loop or switch statement marked by this Tag.</li></li> <li><li>When you write break only, the execution of the most inner loop that contains the break statement in the switch statement or context is Terminated.</li></li> <li><li>In both cases, control is passed to <span id="15_nwp" style="width: auto; height: auto; float: none;">the first line of statements outside the loop or <span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;">switch</span> statement.</span></li></li> <li><li>For an example of using the break statement, <span id="13_nwp" style="width: auto; height: auto; float: none;"> <span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;">See</span> break and <span id="14_nwp" style="width: auto; height: auto; float: none;"> <span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;">tagged</span> statements in the control flow chapter for Details. </span></span></li></li> <li><li>GRAMMAR of A break STATEMENT</li></li> <li><li>Break-statement→break <span id="11_nwp" style="width: auto; height: auto; float: none;"> <span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;">label</span>-name <span id="12_nwp" style="width: auto; height: auto; float: none;"><span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;">opt</span></span></span></li></li> </ul><p><p><span style="color: #ff6600;"><strong>Continue statements</strong></span></p></p> <ul> <li><li>The continue statement terminates the execution of the current iteration in the loop, but does not terminate the execution of the Loop. When using the continue statement, you can write only the continue <span id="10_nwp" style="width: auto; height: auto; float: none;"> <span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;">keyword</span> , or you can follow the tag name (label name) behind continue, like This:</span></li></li> <li><li>Continue</li></li> <li><li>Continue<code><span id="0_nwp" style="width: auto; height: auto; float: none;"><span style="color: #0000ff; font-size: 11px; width: auto; height: auto; float: none;">label</span> name</span></code></li></li> <li><li>When the continue statement is followed by a label signature, it can be used to terminate the execution of the current iteration in the loop marked by this Tag.</li></li> <li><li>When you write break only, you can use it to terminate the execution of the current iteration in the most inner loop that contains the continue statement in the Context.</li></li> <li><li>In both cases, control is passed to the first line of statements outside the Loop.</li></li> <li><li>In the for statement, the increment expression is evaluated after the continue statement is executed, because the increment expression is evaluated each time the loop body finishes Executing.</li></li> <li><li>For an example of using the Continue statement, see the Continue and tagged statements in the control Flow chapter <span id="9_nwp" style="width: auto; height: auto; float: none;"> <span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;"></span> .</span></li></li> <li><li>GRAMMAR of A CONTINUE STATEMENT</li></li> <li><li>Continue-statement→continue <span id="7_nwp" style="width: auto; height: auto; float: none;"> <span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;">label</span>-name <span id="8_nwp" style="width: auto; height: auto; float: none;"><span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;">opt</span></span></span></li></li> </ul><p><p><span style="color: #ff6600;"><strong>Fallthrough statements</strong></span></p></p> <ul> <ul> <li>The Fallthrough statement is used to pass control in a switch statement. The Fallthrough statement passes control from one case in the switch statement to the next Case. This pass is unconditional, even if the pattern of the next case does not match the value of the control expression of the switch Statement.</li> <li>The Fallthrough statement can appear in any case in the switch statement, but not in the last case Branch. also, The Fallthrough statement cannot pass control to a case branch that uses an optional binding.</li> <li>For an <span id="5_nwp" style="width: auto; height: auto; float: none;">example of using the Fallthrough statement in a <span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;">switch</span> statement, <span id="6_nwp" style="width: auto; height: auto; float: none;"> <span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;">See</span> Control Pass statement in the control flow chapter for Details. </span></span></li> <li>GRAMMAR of A Fallthrough STATEMENT</li> <li>Continue-statement→fallthrough</li> </ul> </ul><p><p><span style="color: #ff6600;"><strong>Return statement</strong></span></p></p> <ul> <ul> <li>The return statement is used to pass control to the caller in the implementation of a function or method, and then the program will continue to execute from the Caller's Location.</li> <li>When using the return statement, you can write only the return <span id="4_nwp" style="width: auto; height: auto; float: none;"> <span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;">keyword</span> , or you can follow the return followed by the expression, like This:</span></li> <li>Return</li> <li>Return<code>expression</code></li> <li>When the return statement is followed by an expression, the value of the expression is returned to the Caller. If the type of an expression value does not match the type expected by the caller, Swift converts the type of the expression value to the type expected by the caller before returning the value of the Expression.</li> <li>When you write only return, you simply pass control from the <span id="3_nwp" style="width: auto; height: auto; float: none;"> <span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;">function</span> or method to the caller without returning a Value. (this means that the return type of the function or method is void or ())</span></li> <li>GRAMMAR of A RETURN STATEMENT</li> <li>Return-statement→return expression <span id="2_nwp" style="width: auto; height: auto; float: none;"> <span style="color: #0000ff; font-size: 18px; width: auto; height: auto; float: none;">opt</span></span></li> </ul> </ul> <p><p> iOS Development--swift & Classic Syntax (three) statements </p> </p></span>

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.