• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/toolchains/hndtools-armeabi-2011.09/share/doc/arm-arm-none-eabi/html/gcc/
1<html lang="en">
2<head>
3<title>Using fast enumeration - Using the GNU Compiler Collection (GCC)</title>
4<meta http-equiv="Content-Type" content="text/html">
5<meta name="description" content="Using the GNU Compiler Collection (GCC)">
6<meta name="generator" content="makeinfo 4.13">
7<link title="Top" rel="start" href="index.html#Top">
8<link rel="up" href="Fast-enumeration.html#Fast-enumeration" title="Fast enumeration">
9<link rel="next" href="c99_002dlike-fast-enumeration-syntax.html#c99_002dlike-fast-enumeration-syntax" title="c99-like fast enumeration syntax">
10<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
11<!--
12Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997,
131998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
142010 Free Software Foundation, Inc.
15
16Permission is granted to copy, distribute and/or modify this document
17under the terms of the GNU Free Documentation License, Version 1.3 or
18any later version published by the Free Software Foundation; with the
19Invariant Sections being ``Funding Free Software'', the Front-Cover
20Texts being (a) (see below), and with the Back-Cover Texts being (b)
21(see below).  A copy of the license is included in the section entitled
22``GNU Free Documentation License''.
23
24(a) The FSF's Front-Cover Text is:
25
26     A GNU Manual
27
28(b) The FSF's Back-Cover Text is:
29
30     You have freedom to copy and modify this GNU Manual, like GNU
31     software.  Copies published by the Free Software Foundation raise
32     funds for GNU development.-->
33<meta http-equiv="Content-Style-Type" content="text/css">
34<style type="text/css"><!--
35  pre.display { font-family:inherit }
36  pre.format  { font-family:inherit }
37  pre.smalldisplay { font-family:inherit; font-size:smaller }
38  pre.smallformat  { font-family:inherit; font-size:smaller }
39  pre.smallexample { font-size:smaller }
40  pre.smalllisp    { font-size:smaller }
41  span.sc    { font-variant:small-caps }
42  span.roman { font-family:serif; font-weight:normal; } 
43  span.sansserif { font-family:sans-serif; font-weight:normal; } 
44--></style>
45<link rel="stylesheet" type="text/css" href="../cs.css">
46</head>
47<body>
48<div class="node">
49<a name="Using-fast-enumeration"></a>
50<p>
51Next:&nbsp;<a rel="next" accesskey="n" href="c99_002dlike-fast-enumeration-syntax.html#c99_002dlike-fast-enumeration-syntax">c99-like fast enumeration syntax</a>,
52Up:&nbsp;<a rel="up" accesskey="u" href="Fast-enumeration.html#Fast-enumeration">Fast enumeration</a>
53<hr>
54</div>
55
56<h4 class="subsection">8.9.1 Using fast enumeration</h4>
57
58<p>GNU Objective-C provides support for the fast enumeration syntax:
59
60<pre class="smallexample">       id array = ...;
61       id object;
62     
63       for (object in array)
64       {
65         /* Do something with 'object' */
66       }
67</pre>
68 <p><code>array</code> needs to be an Objective-C object (usually a collection
69object, for example an array, a dictionary or a set) which implements
70the &ldquo;Fast Enumeration Protocol&rdquo; (see below).  If you are using a
71Foundation library such as GNUstep Base or Apple Cocoa Foundation, all
72collection objects in the library implement this protocol and can be
73used in this way.
74
75 <p>The code above would iterate over all objects in <code>array</code>.  For
76each of them, it assigns it to <code>object</code>, then executes the
77<code>Do something with 'object'</code> statements.
78
79 <p>Here is a fully worked-out example using a Foundation library (which
80provides the implementation of <code>NSArray</code>, <code>NSString</code> and
81<code>NSLog</code>):
82
83<pre class="smallexample">       NSArray *array = [NSArray arrayWithObjects: @"1", @"2", @"3", nil];
84       NSString *object;
85     
86       for (object in array)
87         NSLog (@"Iterating over %@", object);
88</pre>
89 <!-- ================================ -->
90 </body></html>
91
92