<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: I need a convenient function within the SDK to enable an app to discover the type of layer dynamically in ArcGIS Runtime SDK for iOS Questions</title>
    <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/i-need-a-convenient-function-within-the-sdk-to/m-p/661759#M5901</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Perfect! That works just fine. Thank you so much.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 09 Apr 2019 16:31:00 GMT</pubDate>
    <dc:creator>SimonCantrell</dc:creator>
    <dc:date>2019-04-09T16:31:00Z</dc:date>
    <item>
      <title>I need a convenient function within the SDK to enable an app to discover the type of layer dynamically</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/i-need-a-convenient-function-within-the-sdk-to/m-p/661757#M5899</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am working on an app using the ArcGIS iOS SDK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am reading in Maps from the ArcGIS Online portal. These maps often contain a variety of layers, i.e. Image Layers, FeatureCollections layers, WMS layers, etc. I need a convenient function within the SDK to enable the app to discover the type of layer dynamically, and I then want to go on to operate in various functions on a selected layer, e.g. display its sublayers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have been scouring the SDK reference but I cannot determine how to do this yet. Has anyone else managed this?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I did locate the function to determine the portal type:&amp;nbsp;&lt;A class="link-titled" href="https://developers.arcgis.com/ios/latest/api-reference/interface_a_g_s_portal_item.html#a25dbfe0c00befc305c215b586030febc" title="https://developers.arcgis.com/ios/latest/api-reference/interface_a_g_s_portal_item.html#a25dbfe0c00befc305c215b586030febc"&gt;ArcGIS Runtime SDK for iOS: AGSPortalItem Class Reference&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However, I want to go down to the next level and determine the type of layer contained within the operational layers after they have been loaded into a map when using an&amp;nbsp;portal identifier to identify the particular map.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'd like to be able to write the following Swift code:&lt;/P&gt;&lt;P style="color: #000000; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #ad3da4;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&lt;/STRONG&gt;&lt;/SPAN&gt; layerType:&lt;SPAN style="color: #703daa;"&gt;String&lt;/SPAN&gt;!&lt;/P&gt;&lt;P style="color: #000000; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;/P&gt;&lt;P style="color: #000000; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;EM&gt;//loop over the operational layers and save into an array&lt;/EM&gt;&lt;/P&gt;&lt;P style="color: #000000; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;..&lt;/EM&gt;&lt;/P&gt;&lt;P style="color: #65798c; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;EM&gt;//save the object present in the operational layers array&lt;/EM&gt;&lt;/P&gt;&lt;P style="color: #000000; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #ad3da4;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; layer = &lt;SPAN style="color: #ad3da4;"&gt;&lt;STRONG&gt;self&lt;/STRONG&gt;&lt;/SPAN&gt;.&lt;SPAN style="color: #3e8087;"&gt;layers&lt;/SPAN&gt;?[index] &lt;SPAN style="color: #ad3da4;"&gt;&lt;STRONG&gt;as&lt;/STRONG&gt;&lt;/SPAN&gt;! &lt;SPAN style="color: #3e8087;"&gt;AGSLayer&lt;/SPAN&gt;!&lt;/P&gt;&lt;P style="color: #000000; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;layerType = layer?.&amp;lt;&lt;EM&gt;what can be used to capture the layer type as a string here?&lt;/EM&gt;&amp;gt;&lt;/P&gt;&lt;P style="color: #000000; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;/P&gt;&lt;P style="color: #d12f1b; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #ad3da4;"&gt;&lt;STRONG&gt;if&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; (&lt;/SPAN&gt;&lt;SPAN style="color: #3e8087;"&gt;layerType&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; == &lt;/SPAN&gt;"AGSArcGISMapImageLayer"&lt;SPAN style="color: #000000;"&gt;) {&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #3e8087; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #ad3da4;"&gt;&lt;STRONG&gt;self&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;.&lt;/SPAN&gt;mapImageLayer&lt;SPAN style="color: #000000;"&gt; = &lt;/SPAN&gt;&lt;SPAN style="color: #ad3da4;"&gt;&lt;STRONG&gt;self&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;.&lt;/SPAN&gt;layers&lt;SPAN style="color: #000000;"&gt;?[index] &lt;/SPAN&gt;&lt;SPAN style="color: #ad3da4;"&gt;&lt;STRONG&gt;as&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;! &lt;/SPAN&gt;AGSArcGISMapImageLayer&lt;SPAN style="color: #000000;"&gt;!&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #000000; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;}&lt;/P&gt;&lt;P style="color: #d12f1b; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #ad3da4;"&gt;&lt;STRONG&gt;if&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;/SPAN&gt;&lt;SPAN style="color: #3e8087;"&gt;layerType&lt;/SPAN&gt;&lt;SPAN&gt; == &lt;/SPAN&gt;"AGSFeatureCollectionLayer"&lt;SPAN&gt;) {&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #3e8087; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #ad3da4;"&gt;&lt;STRONG&gt;self&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;mapFeatureCollectionLayer&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN style="color: #ad3da4;"&gt;&lt;STRONG&gt;self&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;layers&lt;SPAN&gt;?[index] &lt;/SPAN&gt;&lt;SPAN style="color: #ad3da4;"&gt;&lt;STRONG&gt;as&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;! &lt;/SPAN&gt;AGSFeatureCollectionLayer&lt;SPAN&gt;!&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;}&lt;/P&gt;&lt;P style="margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #ad3da4;"&gt;&lt;STRONG&gt;if&lt;/STRONG&gt;&lt;/SPAN&gt; (&lt;SPAN style="color: #3e8087;"&gt;layerType&lt;/SPAN&gt; == &lt;SPAN style="color: #d12f1b;"&gt;"AGSWMSLayer"&lt;/SPAN&gt;) {&lt;/P&gt;&lt;P style="margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #ad3da4;"&gt;&lt;STRONG&gt;self&lt;/STRONG&gt;&lt;/SPAN&gt;.&lt;SPAN style="color: #3e8087;"&gt;mapWMSLayer&lt;/SPAN&gt; = &lt;SPAN style="color: #ad3da4;"&gt;&lt;STRONG&gt;self&lt;/STRONG&gt;&lt;/SPAN&gt;.&lt;SPAN style="color: #3e8087;"&gt;layers&lt;/SPAN&gt;?[index] &lt;SPAN style="color: #ad3da4;"&gt;&lt;STRONG&gt;as&lt;/STRONG&gt;&lt;/SPAN&gt;! &lt;SPAN style="color: #3e8087;"&gt;AGSWMSLayer&lt;/SPAN&gt;!&lt;/P&gt;&lt;P style="margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;}&lt;/P&gt;&lt;P style="color: #d12f1b; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #ad3da4;"&gt;&lt;STRONG&gt;if&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; (&lt;/SPAN&gt;&lt;SPAN style="color: #3e8087;"&gt;layerType&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; == &lt;/SPAN&gt;"AGSTiledMapServiceLayer"&lt;SPAN style="color: #000000;"&gt;) {&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #d12f1b; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="background-color: #ffffff;"&gt;//Do something else&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #000000; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;}&lt;/P&gt;&lt;P style="color: #d12f1b; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #ad3da4;"&gt;&lt;STRONG&gt;if&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; (&lt;/SPAN&gt;&lt;SPAN style="color: #3e8087;"&gt;layerType&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; == &lt;/SPAN&gt;"AGSDynamicMapServiceLayer"&lt;SPAN style="color: #000000;"&gt;) {&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #d12f1b; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;//Do something else&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #000000; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;}&lt;/P&gt;&lt;P style="color: #d12f1b; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #ad3da4;"&gt;&lt;STRONG&gt;if&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; (&lt;/SPAN&gt;&lt;SPAN style="color: #3e8087;"&gt;layerType&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; == &lt;/SPAN&gt;"AGSImageServiceLayer"&lt;SPAN style="color: #000000;"&gt;) {&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #d12f1b; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;//Do something else&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #000000; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;}&lt;/P&gt;&lt;P style="color: #d12f1b; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #000000; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;etc.&lt;/P&gt;&lt;P style="color: #000000; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;/P&gt;&lt;P style="color: #000000; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;However, unless I'm missing something, when I load all the operational layers in the map into an array of layers, the layer type is not offered in the AGSLayer class.&lt;/P&gt;&lt;P style="color: #000000; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;/P&gt;&lt;P style="color: #000000; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;I can get the name, description, attribution, layerID, extent, etc. but no layer type.&lt;/P&gt;&lt;P style="color: #000000; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;/P&gt;&lt;P style="color: #000000; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;Any help you guys can give will be appreciated.&lt;/P&gt;&lt;P style="color: #000000; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;/P&gt;&lt;P style="color: #000000; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;Thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Apr 2019 17:47:30 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/i-need-a-convenient-function-within-the-sdk-to/m-p/661757#M5899</guid>
      <dc:creator>SimonCantrell</dc:creator>
      <dc:date>2019-04-08T17:47:30Z</dc:date>
    </item>
    <item>
      <title>Re: I need a convenient function within the SDK to enable an app to discover the type of layer dynamically</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/i-need-a-convenient-function-within-the-sdk-to/m-p/661758#M5900</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;you can check types of layers like so using swift's as operator, etc:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;        &lt;SPAN class="keyword token"&gt;let&lt;/SPAN&gt; map &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;AGSMap&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
        &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;case&lt;/SPAN&gt; layer &lt;SPAN class="keyword token"&gt;as&lt;/SPAN&gt; AGSLayer &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; map&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;operationalLayers&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
            &lt;SPAN class="keyword token"&gt;switch&lt;/SPAN&gt; layer&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
            &lt;SPAN class="keyword token"&gt;case&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;let&lt;/SPAN&gt; fl &lt;SPAN class="keyword token"&gt;as&lt;/SPAN&gt; AGSFeatureLayer&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
                &lt;SPAN class="token function"&gt;print&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"is feature layer"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
            &lt;SPAN class="keyword token"&gt;case&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;let&lt;/SPAN&gt; mil &lt;SPAN class="keyword token"&gt;as&lt;/SPAN&gt; AGSArcGISMapImageLayer&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
                &lt;SPAN class="token function"&gt;print&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"is AGSArcGISMapImageLayer"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
            &lt;SPAN class="comment token"&gt;// etc...&lt;/SPAN&gt;
            &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 03:59:35 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/i-need-a-convenient-function-within-the-sdk-to/m-p/661758#M5900</guid>
      <dc:creator>RyanOlson1</dc:creator>
      <dc:date>2021-12-12T03:59:35Z</dc:date>
    </item>
    <item>
      <title>Re: I need a convenient function within the SDK to enable an app to discover the type of layer dynamically</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/i-need-a-convenient-function-within-the-sdk-to/m-p/661759#M5901</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Perfect! That works just fine. Thank you so much.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Apr 2019 16:31:00 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/i-need-a-convenient-function-within-the-sdk-to/m-p/661759#M5901</guid>
      <dc:creator>SimonCantrell</dc:creator>
      <dc:date>2019-04-09T16:31:00Z</dc:date>
    </item>
  </channel>
</rss>

