
## Errors and Exceptions
---

### SNRError

<div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

The default error domain for SDK errors is SNRErrorDomain.

</div></div></div>

  
**Declared In:**  
Headers/SNRError.h
  
**Inherits From:**  
[NSError](https://developer.apple.com/documentation/foundation/nserror)
  
**Conforms To:**  
[NSCopying](https://developer.apple.com/documentation/foundation/nscopying)  
[NSSecureCoding](https://developer.apple.com/documentation/foundation/nssecurecoding)
  
**Declaration:**

<div class="content-tabs code-tabs" data-tab-group="tabgrp-322">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-322-0" data-tab-group="tabgrp-322" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-322-1" data-tab-group="tabgrp-322">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-322-0" data-tab-group="tabgrp-322" data-tab-active="true">

```Swift
class SNRError: NSError
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-322-1" data-tab-group="tabgrp-322">

```Objective-C
@interface SNRError: NSError
```

</div>
</div>


There are global string constants that can be used to get specific information from the `userInfo` property:
- SNRErrorUserInfoCodeKey
- SNRErrorUserInfoTitleKey
- SNRErrorUserInfoMessageKey
- SNRErrorUserInfoFieldKey
- SNRErrorUserInfoPathKey
- SNRErrorUserInfoRejectedValueKey
- SNRErrorUserInfoErrorsKey

---
---

### SNRApiError
This method retrieves the HTTP code of an error.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-323">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-323-0" data-tab-group="tabgrp-323" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-323-1" data-tab-group="tabgrp-323">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-323-0" data-tab-group="tabgrp-323" data-tab-active="true">

```Swift
func getHttpCode() -> Int
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-323-1" data-tab-group="tabgrp-323">

```Objective-C
- (NSInteger)getHttpCode
```

</div>
</div>


---

This method retrieves the internal code of an error.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-324">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-324-0" data-tab-group="tabgrp-324" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-324-1" data-tab-group="tabgrp-324">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-324-0" data-tab-group="tabgrp-324" data-tab-active="true">

```Swift
func getErrorCode() -> String?
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-324-1" data-tab-group="tabgrp-324">

```Objective-C
- (nullable NSString *)getErrorCode
```

</div>
</div>


---

This method retrieves the description of an error.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-325">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-325-0" data-tab-group="tabgrp-325" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-325-1" data-tab-group="tabgrp-325">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-325-0" data-tab-group="tabgrp-325" data-tab-active="true">

```Swift
func getBody() -> String?
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-325-1" data-tab-group="tabgrp-325">

```Objective-C
- (nullable NSString *)getBody
```

</div>
</div>


---
---

### SNRApiErrorType
**Declared In:**  
Headers/SNRApiError.h
  
**Declaration:**

<div class="content-tabs code-tabs" data-tab-group="tabgrp-326">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-326-0" data-tab-group="tabgrp-326" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-326-1" data-tab-group="tabgrp-326">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-326-0" data-tab-group="tabgrp-326" data-tab-active="true">

```Swift
enum SNRApiErrorType: Int {
    unknown,
    network,
    unauthorizedSession,
    http
}
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-326-1" data-tab-group="tabgrp-326">

```Objective-C
typedef NS_ENUM(NSInteger, SNRApiErrorType) {
    SNRApiErrorTypeUnknown,
    SNRApiErrorTypeNetwork,
    SNRApiErrorTypeUnauthorizedSession,
    SNRApiErrorTypeHttp
};
```

</div>
</div>


---
---

### SNRException
**Declared In:**  
Headers/SNRException.h 
  
**Inherits From:**  
[NSException](https://developer.apple.com/documentation/foundation/nsexception)
  
**Conforms To:**  
[NSCopying](https://developer.apple.com/documentation/foundation/nscopying)
  
**Declaration:**

<div class="content-tabs code-tabs" data-tab-group="tabgrp-327">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-327-0" data-tab-group="tabgrp-327" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-327-1" data-tab-group="tabgrp-327">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-327-0" data-tab-group="tabgrp-327" data-tab-active="true">

```Swift
class SNRException: NSException
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-327-1" data-tab-group="tabgrp-327">

```Objective-C
@interface SNRException : NSException
```

</div>
</div>

  
**Properties:**
| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| **error** | [SNRError](/developers/mobile-sdk/class-reference/ios/miscellaneous#snrerror) | no | Error provided for Swift compatibility |
  
**Methods:**

Throws an exception.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-328">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-328-0" data-tab-group="tabgrp-328" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-328-1" data-tab-group="tabgrp-328">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-328-0" data-tab-group="tabgrp-328" data-tab-active="true">

```Swift
static func throwException(exceptionName: NSExceptionName, reason: String)
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-328-1" data-tab-group="tabgrp-328">

```Objective-C
+ (void)throwException:(NSExceptionName)exceptionName reason:(nonnull NSString *)reason
```

</div>
</div>


---
---

### SNRInvalidArgumentException
**Declared In:**  
Headers/SNRInvalidArgumentException.h 
  
**Inherits From:**  
[SNRException](/developers/mobile-sdk/class-reference/ios/miscellaneous#snrexception)

**Conforms To:**  
[NSCopying](https://developer.apple.com/documentation/foundation/nscopying)
  
**Declaration:**

<div class="content-tabs code-tabs" data-tab-group="tabgrp-329">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-329-0" data-tab-group="tabgrp-329" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-329-1" data-tab-group="tabgrp-329">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-329-0" data-tab-group="tabgrp-329" data-tab-active="true">

```Swift
class SNRInvalidArgumentException: NSException
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-329-1" data-tab-group="tabgrp-329">

```Objective-C
@interface SNRInvalidArgumentException : NSException
```

</div>
</div>


---
---

## CacheManager
**Declared In:**  
Headers/SNRCacheManager.h  
  
**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-330">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-330-0" data-tab-group="tabgrp-330" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-330-1" data-tab-group="tabgrp-330">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-330-0" data-tab-group="tabgrp-330" data-tab-active="true">

```Swift
class CacheManager: NSObject
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-330-1" data-tab-group="tabgrp-330">

```Objective-C
@interface SNRCacheManager : NSObject
```

</div>
</div>

  
**Methods:**
  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-331">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-331-0" data-tab-group="tabgrp-331" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-331-1" data-tab-group="tabgrp-331">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-331-0" data-tab-group="tabgrp-331" data-tab-active="true">

```Swift
static func get(_: AnyClass) -> AnyObject
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-331-1" data-tab-group="tabgrp-331">

```Objective-C
+ (nullable id)get:(Class)aClass
```

</div>
</div>


---
---

## Misc
---

### HostApplicationType
**Declared In:**  
Headers/SNRHostApplicationType.h
  
**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-332">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-332-0" data-tab-group="tabgrp-332" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-332-1" data-tab-group="tabgrp-332">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-332-0" data-tab-group="tabgrp-332" data-tab-active="true">

```Swift
enum HostApplicationType: Int {
    unknown,
    native,
    reactNative,
    flutter,
    xamarin,
    other
}
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-332-1" data-tab-group="tabgrp-332">

```Objective-C
typedef NS_ENUM(NSUInteger, SNRHostApplicationType) {
    SNRHostApplicationTypeUnknown,
    SNRHostApplicationTypeNative,
    SNRHostApplicationTypeReactNative,
    SNRHostApplicationTypeFlutter,
    SNRHostApplicationTypeXamarin,
    SNRHostApplicationTypeOther
}
```

</div>
</div>

  
**Functions:**
  
Converts from **HostApplicationType** to **String**.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-333">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-333-0" data-tab-group="tabgrp-333" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-333-1" data-tab-group="tabgrp-333">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-333-0" data-tab-group="tabgrp-333" data-tab-active="true">

```Swift
func SNR_HostApplicationTypeToString(_: HostApplicationType) -> String
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-333-1" data-tab-group="tabgrp-333">

```Objective-C
NSString * SNR_HostApplicationTypeToString(SNRHostApplicationType type)
```

</div>
</div>


---

Converts from **String** to **HostApplicationType**.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-334">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-334-0" data-tab-group="tabgrp-334" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-334-1" data-tab-group="tabgrp-334">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-334-0" data-tab-group="tabgrp-334" data-tab-active="true">

```Swift
func SNR_StringToHostApplicationType(_: String) -> HostApplicationType
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-334-1" data-tab-group="tabgrp-334">

```Objective-C
SNRHostApplicationType SNR_StringToHostApplicationType(NSString * _Nullable string)
```

</div>
</div>


---
---

### BaseModel
**Declared In:**  
Headers/SNRBaseModel.h  
  
**Inherits From:**  
[NSObject](https://developer.apple.com/documentation/objectivec/nsobject)  
  
**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-335">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-335-0" data-tab-group="tabgrp-335" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-335-1" data-tab-group="tabgrp-335">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-335-0" data-tab-group="tabgrp-335" data-tab-active="true">

```Swift
class BaseModel: NSObject
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-335-1" data-tab-group="tabgrp-335">

```Objective-C
@interface SNRBaseModel : NSObject
```

</div>
</div>


---
---

### ApiQuerySortingOrder
**Declared In:**  
Headers/SNRApiQuerySortingOrder.h  
  
**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-336">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-336-0" data-tab-group="tabgrp-336" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-336-1" data-tab-group="tabgrp-336">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-336-0" data-tab-group="tabgrp-336" data-tab-active="true">

```Swift
enum ApiQuerySortingOrder: Int {
    ascending,
    descending
}
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-336-1" data-tab-group="tabgrp-336">

```Objective-C
typedef NS_ENUM(NSUInteger, SNRApiQuerySortingOrder) {
    SNRApiQuerySortingOrderAscending,
    SNRApiQuerySortingOrderDescending
}
```

</div>
</div>

  
**Functions:**

Converts from **ApiQuerySortingOrder** to **String**.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-337">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-337-0" data-tab-group="tabgrp-337" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-337-1" data-tab-group="tabgrp-337">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-337-0" data-tab-group="tabgrp-337" data-tab-active="true">

```Swift
func SNR_ApiQuerySortingOrderToString(_: ApiQuerySortingOrder) -> String
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-337-1" data-tab-group="tabgrp-337">

```Objective-C
NSString * SNR_ApiQuerySortingOrderToString(SNRApiQuerySortingOrder type)
```

</div>
</div>


---

Converts from **String** to **ApiQuerySortingOrder**.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-338">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-338-0" data-tab-group="tabgrp-338" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-338-1" data-tab-group="tabgrp-338">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-338-0" data-tab-group="tabgrp-338" data-tab-active="true">

```Swift
func SNR_StringToApiQuerySortingOrder(_: String) -> ApiQuerySortingOrder
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-338-1" data-tab-group="tabgrp-338">

```Objective-C
SNRApiQuerySortingOrder SNR_StringToApiQuerySortingOrder(NSString * _Nullable string)
```

</div>
</div>



<div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

The following string constants can be used in API Query objects:
- SNR_API_QUERY_SORTING_ASC
- SNR_API_QUERY_SORTING_DESC

</div></div></div>


---
---

### ScreenViewApiQuery
The object to set parameters easily for fetching screen views from API.
  
**Declared In:**  
Headers/SNRScreenViewApiQuery.h
  
**Inherits From:**  
[NSObject](https://developer.apple.com/documentation/objectivec/nsobject)
  
**Declaration:**

<div class="content-tabs code-tabs" data-tab-group="tabgrp-339">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-339-0" data-tab-group="tabgrp-339" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-339-1" data-tab-group="tabgrp-339">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-339-0" data-tab-group="tabgrp-339" data-tab-active="true">

```Swift
class ScreenViewApiQuery: NSObject
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-339-1" data-tab-group="tabgrp-339">

```Objective-C
@interface SNRScreenViewApiQuery : NSObject
```

</div>
</div>

  
**Properties:**
| Property | Type | Optional | Default | Description |
| --- | --- | --- | --- | --- |
| **feedSlug** | String | no  | nil | Identifies a specific screen view feed |
| **productID** | String | yes | nil | Item identifier |
| **params** | [String: Any] | yes | nil | Additional parameters to pass for [Inserts in the screen view](/developers/inserts/screen-views-documents#handling-variables-when-displaying-screen-viewsdocuments). For example, if the insert is `{{ foo }}`, you need to pass the value of `foo` |

**Initializers:**

<div class="content-tabs code-tabs" data-tab-group="tabgrp-340">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-340-0" data-tab-group="tabgrp-340" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-340-1" data-tab-group="tabgrp-340">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-340-0" data-tab-group="tabgrp-340" data-tab-active="true">

```Swift
init(feedSlug: String, productID: String?)
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-340-1" data-tab-group="tabgrp-340">

```Objective-C
- (instancetype)initWithFeedSlug:(NSString *)feedSlug productID:(nullable NSString *)productID
```

</div>
</div>


---
---

### ScreenView
**Declared In:**  
Headers/SNRScreenView.h  
  
**Related To:**  
[ScreenViewAudienceInfo](/developers/mobile-sdk/class-reference/ios/miscellaneous#screenviewaudienceinfo)   
  
**Inherits From:**  
[BaseModel](/developers/mobile-sdk/class-reference/ios/miscellaneous#basemodel)  
  
**Declaration:**

<div class="content-tabs code-tabs" data-tab-group="tabgrp-341">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-341-0" data-tab-group="tabgrp-341" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-341-1" data-tab-group="tabgrp-341">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-341-0" data-tab-group="tabgrp-341" data-tab-active="true">

```Swift
class ScreenView: BaseModel
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-341-1" data-tab-group="tabgrp-341">

```Objective-C
@interface SNRScreenView : SNRBaseModel
```

</div>
</div>

  
**Properties:**
| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| **identifier** | String | no | Screen View's ID |
| **name** | String | no | Screen View's name |
| **hashString** | String | no | Screen View's hash |
| **path** | String | no | URL of the screen view's definition |
| **priority** | Int | no | Screen View's priority (1-99, where 1 is the highest) |
| **audience** | [ScreenViewAudienceInfo](/developers/mobile-sdk/class-reference/ios/miscellaneous#screenviewaudienceinfo) | no | Audience of a Screen View |
| **data** | AnyObject | no | Content of the screen view |
| **createdAt** | Date | no | Screen View's creation date |
| **updatedAt** | Date | no | Screen View's update date |
  

<div class="admonition admonition-important"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

All properties are read-only.

</div></div></div>


---
---

### ScreenViewAudienceInfo
**Declared In:**  
Headers/SNRScreenViewAudience.h  
  
**Related To:**  
[ScreenView](/developers/mobile-sdk/class-reference/ios/miscellaneous#screenview)  
  
**Inherits From:**  
[BaseModel](/developers/mobile-sdk/class-reference/ios/miscellaneous#basemodel)
  
**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-342">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-342-0" data-tab-group="tabgrp-342" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-342-1" data-tab-group="tabgrp-342">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-342-0" data-tab-group="tabgrp-342" data-tab-active="true">

```Swift
class ScreenViewAudienceInfo: BaseModel
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-342-1" data-tab-group="tabgrp-342">

```Objective-C
@interface SNRScreenViewAudienceInfo : SNRBaseModel
```

</div>
</div>

  
**Properties:**  
| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| **segments** | [String] | yes | Audience's segments |
| **query** | String | yes | Audience's query |
| **targetType** | String | yes | Audience's target type |


<div class="admonition admonition-important"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

All properties are read-only.

</div></div></div>


---
---

### BrickworksApiQuery
Object responsible for creating a query to the Brickworks API.

**Declared In:**  
Headers/SNRBrickworksApiQuery.h

**Inherits From:**  
[NSObject](https://developer.apple.com/documentation/objectivec/nsobject-swift.class)

**Declaration:**  

<div class="content-tabs" data-tab-group="tabgrp-345">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-345-0" data-tab-group="tabgrp-345" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-345-1" data-tab-group="tabgrp-345">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-345-0" data-tab-group="tabgrp-345" data-tab-active="true">

<pre><code class="language-Swift">class BrickworksApiQuery: NSObject</code></pre>

</div>

<div class="tab-panel" data-tab-id="tabgrp-345-1" data-tab-group="tabgrp-345">

<pre><code class="language-objective-c">@interface SNRBrickworksApiQuery : NSObject</code></pre>

</div>
</div>


**Properties:**  
| Property         | Type   | Optional        | Description                                                                                                                                                                       |
| ---------------- | ------ | --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **schemaSlug**   | String | no              | Unique identifier (`appName`/API name) of a schema                                                                                                                                |
| **recordSlug**   | String | yes<sup>1</sup> | Unique identifier (`slug`/slug) of a record                                                                                                                                   |
| **recordId**     | String | yes<sup>1</sup> | Unique identifier (`id`/UUID) of a record                                                                                                                                         |
| **context**      | Object | yes             | Key/value properties for `{{ context.keyName }}` inserts in the record                                                                                                            |
| **fieldContext** | Object | yes             | Additional properties for [recommendation](/docs/assets/brickworks/synerise-objects#ai-recommendation) and [many-to-one](/docs/assets/brickworks/schema-field-types#one-to-many) field types |

**Initializers**  

<div class="content-tabs" data-tab-group="tabgrp-346">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-346-0" data-tab-group="tabgrp-346" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-346-1" data-tab-group="tabgrp-346">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-346-0" data-tab-group="tabgrp-346" data-tab-active="true">

You can use the record slug or ID.

<pre><code class="language-Swift">init(schemaSlug: String, recordSlug: String)

init(schemaSlug: String, recordId: String)</code></pre>

</div>

<div class="tab-panel" data-tab-id="tabgrp-346-1" data-tab-group="tabgrp-346">

You can use the record slug or ID.

<pre><code class="language-objective-c">(instancetype)initWithSchemaSlug:(NSString *)schemaSlug recordSlug:(NSString *)recordSlug

(instancetype)initWithSchemaSlug:(NSString *)schemaSlug recordId:(NSString *)recordId</code></pre>

</div>
</div>


---
---
## Removed symbols
---

### <del>ScreenViewResponse</del> {#screenviewresponse}
**Declared In:**  
Headers/SNRScreenViewResponse.h  
  
**Related To:**  
[ScreenViewAudience](/developers/mobile-sdk/class-reference/ios/miscellaneous#screenviewaudience)   
  
**Inherits From:**  
[BaseModel](/developers/mobile-sdk/class-reference/ios/miscellaneous#basemodel)  
  
**Declaration:**

<div class="content-tabs code-tabs" data-tab-group="tabgrp-343">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-343-0" data-tab-group="tabgrp-343" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-343-1" data-tab-group="tabgrp-343">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-343-0" data-tab-group="tabgrp-343" data-tab-active="true">

```Swift
class ScreenViewResponse: BaseModel
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-343-1" data-tab-group="tabgrp-343">

```Objective-C
@interface SNRScreenViewResponse : SNRBaseModel
```

</div>
</div>

  
**Properties:**
| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| **audience** | [ScreenViewAudience](/developers/mobile-sdk/class-reference/ios/miscellaneous#screenviewaudience) | no | Audience of a screen view |
| **identifier** | String | no | Screen view's ID |
| **hashString** | String | no | Screen view's hash |
| **path** | String | no | URL of the screen view's definition |
| **name** | String | no | Screen view's name |
| **priority** | NSNumber | no | Screen View's priority (1-99, where 1 is the highest) |
| **descriptionText** | String | yes | Screen view's description |
| **data** | AnyObject | no | Content of the screen view |
| **version** | String | no | Version of a screen view |
| **parentVersion** | String | yes | Parent version of a screen view |
| **createdAt** | Date | no | Screen view's creation date |
| **updatedAt** | Date | no | Screen view's update date |
| **deletedAt** | Date | yes | Screen view's deletion date |
  

<div class="admonition admonition-important"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

All properties are read-only.

</div></div></div>


---
---

### <del>ScreenViewAudience</del> {#screenviewaudience}
**Declared In:**  
Headers/SNRScreenViewAudience.h  
  
**Related To:**  
[ScreenViewResponse](/developers/mobile-sdk/class-reference/ios/miscellaneous#screenviewresponse)  
  
**Inherits From:**  
[BaseModel](/developers/mobile-sdk/class-reference/ios/miscellaneous#basemodel)
  
**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-344">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-344-0" data-tab-group="tabgrp-344" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-344-1" data-tab-group="tabgrp-344">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-344-0" data-tab-group="tabgrp-344" data-tab-active="true">

```Swift
class ScreenViewAudience: BaseModel
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-344-1" data-tab-group="tabgrp-344">

```Objective-C
@interface SNRScreenViewAudience : SNRBaseModel
```

</div>
</div>

  
**Properties:**  
| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| **IDs** | [String] | yes | Audience's identifiers |
| **query** | String | yes | Audience's query |
  

<div class="admonition admonition-important"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

All properties are read-only.

</div></div></div>


