Как включить функции, которые я написал, в другие приложения для iOS? - PullRequest
0 голосов
/ 25 марта 2019

Я писал приложения для iOS с использованием xCode и понял, что использую одну и ту же математику снова и снова.Таким образом, я создал несколько функций, которые немного очистили мой код.Теперь я хочу использовать эти функции в других приложениях, которые я пишу, без копирования и вставки.Мой код был бы намного чище таким образом IMO.

Я пытался создать фреймворк, а затем включить его в новый проект, но я никогда не смогу использовать функции, даже если я импортирую фреймворк.Созданная мной структура имеет 10-12 публичных функций.Я связал бинарный файл и фреймворк, и при импорте он делает это без ошибок.Все, что в нем есть - это функции.Нужно ли использовать класс вместо просто функций?Все функции находятся в файле .swift внутри фреймворка.

*. Swift-файл внутри моего фреймворкового проекта ...

******** ОБНОВЛЕНИЕ ********

Я создал класс и смог собрать фреймворк и добавить его в testapp.Я обновил фрагменты кода, указав, в чем заключается проблема ... Исправление добавляло класс и закрывало проект фреймворка перед добавлением его в проект моего приложения.

Теперь я получаю следующую ошибку "Элемент экземпляра"courseLength 'нельзя использовать для типа' DDMath '; вместо этого вы хотели использовать значение этого типа? "

******** Update 2 *********

ТАК класс не нужен как я пробовал с и без.Исправление для его добавления заключалось в закрытии проекта фреймворка, когда я добавлял его в свой testapp.Но когда я пытаюсь использовать функцию из фреймворка, он распознает фреймворк 'DDMath' и даже автоматически завершит функции.Но, когда я набираю имя функции, она вызывает функции, подобные следующим:

'M (lastDepth: Float, p ... pth: Float) -> Длина курса Float (self: DDMath)'

Когда я выбираю его, он выглядит следующим образом:

DDMath.courseLength(DDMath)

И выдает ошибку: «Выражение преобразуется в неиспользуемую функцию»

framework .swift file:

import Foundation


public class DDMath {
// ***********DD Math functions***********

//courselength
public func courseLength (lastDepth: Float , previousDepth: Float) -> Float {
    return lastDepth - previousDepth
}

...

файл приложений viewcontroller.swift:

import UIKit
import DDMath


class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

        DDMath.courseLength(lastDepth: 3000, previousDepth: 2000)
    }




}
...