Проблема доступа к переменной, объявленной в одном файле в файле расширения - PullRequest
0 голосов
/ 28 мая 2019

Я объявил переменную в своем файле ViewController.swift следующим образом:

struct serials{
    static var snToConnectTo2 = ""
}

class ViewController: UIViewController {
....
}

Я хочу получить доступ к этой переменной из моего файла KeyboardViewController.swift, который принадлежит расширению моего приложения, которым управляет ViewController.swift.

Я пытаюсь получить доступ к переменной следующим образом:

serials.snToConnectTo2

Когда я пытаюсь скомпилировать мой код, я получаю следующую ошибку:

Use of unresolved identifier 'serials';

Как правильно обращаться к переменным из разных файлов?

Ответы [ 2 ]

0 голосов
/ 29 мая 2019

Прежде всего вам нужно объявить вашу структуру как public и ее свойства, как показано ниже:

 public struct serials{
 public static var snToConnectTo2 = ""

 public init() {

 }
}

секунду вам нужно связать этот файл (я имею в виду файл, который содержит вашу структуру), как описано вна следующем снимке экрана

enter image description here

затем выберите файл и добавьте его, и он будет отлично работать с вами

0 голосов
/ 28 мая 2019

ошибка не выдается

import Foundation
import UIKit

class Sclass: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        print("run1: \(serials.snToConnectTo2)")
        serials.snToConnectTo2 = "abc"
        print("run2: \(serials.snToConnectTo2)")

    }
}


struct serials{
static var snToConnectTo2 = ""
}

вывод равен

run1: 
run2: abc

Если вы все еще сталкиваетесь с какой-либо ошибкой ... укажите

class ViewController: UIViewController {
....
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...