Я писал приложения для 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)
}
}