Публикации по теме 'swift-extensions'
Море расширений Swift !
Прежде чем погрузиться в море, давайте кратко расскажем о Swift Extensions.
Расширения добавляют новые функции к существующему классу, структуре, перечислению или типу протокола. Это включает в себя возможность расширения типов, для которых у вас нет доступа к исходному коду (известное как ретроактивное моделирование ).
Расширения в Swift могут:
Добавьте свойства вычисляемого экземпляра и свойства вычисляемого типа Определение методов экземпляра и методов типов Предоставить..
Вопросы по теме 'swift-extensions'
Расширение нижнего индекса массива Swift Range‹T› не преобразуется в Int
Я определяю расширение для массива, чтобы переопределить создание среза:
struct S<T> {
private var array: [T] = []
private var first = 0
private var len = 0
init(_ array: [T], _ range: Range<Int>? = nil) {...
1060 просмотров
schedule
30.08.2022
Как использовать общие типы для получения объекта того же типа
У меня есть расширение для NSManagedObject , которое должно помочь мне передавать объекты между контекстами:
extension NSManagedObject {
func transferTo(#context: NSManagedObjectContext) -> NSManagedObject? {
return...
1355 просмотров
schedule
16.05.2024
keyPathsForValuesAffecting с помощью NSManagedObject
Бонжур, я хотел бы перевести объективное упражнение из книги Аарона на свифт, но не могу найти решение. Код цели:
@dynamic firstName;
@dynamic lastName;
@dynamic department;
+ (NSSet *)keyPathsForValuesAffectingFullName
{
return [NSSet...
3300 просмотров
schedule
27.06.2023
Расширения Swift 1.2
Я обновил XCode до 6.3/Swift 1.2 и вижу ошибки с расширениями. Ниже мое расширение для UINavigationItem для скрытия текста backButton.
extension UINavigationItem {
func backBarButtonItem() -> UIBarButtonItem {
return...
678 просмотров
schedule
06.11.2022
Swift, где расширения массива
Что касается Swift 2.0, кажется, мы можем приблизиться к расширениям универсальных типов, применимых к предикативным ситуациям.
Хотя мы все еще не можем сделать это:
protocol Idable {
var id : String { get }
}
extension Array where T :...
38208 просмотров
schedule
03.02.2023
Расширьте типы массивов, используя предложение where в Swift
Я хотел бы использовать платформу Accelerate для расширения [Float] и [Double], но каждый из них требует другой реализации.
Я попробовал очевидное:
extension Array<Float> {
}
и получить эту ошибку:
«Ограниченное расширение...
31833 просмотров
schedule
26.06.2022
Сложное расширение Swift
Я хочу создать расширение для класса String в Swift, которое позволит вам получить подстроку с помощью оператора индекса, как в Python. Это можно сделать с помощью класса Range следующим образом.
extension String {
subscript (range:...
187 просмотров
schedule
13.06.2023
Доступ к свойствам Obj-C в файле расширения Swift
Я начал писать расширения Swift для своих контроллеров представления. Итак, у меня сейчас есть три файла:
Мой заголовочный файл, ViewController.h :
@interface MyViewController : UIViewController
@end
Мой файл реализации Obj-C,...
7354 просмотров
schedule
22.04.2023
Попытка расширить IntegerType (и FloatingPointType); Почему нельзя преобразовать все типы Int в NSTimeInterval
(Наверное, название нужно получше...)
Я хотел бы иметь набор средств доступа, которые я мог бы использовать в коде для быстрого выражения длительности времени. Например:
42.seconds
3.14.minutes
0.5.hours
13.days
Этот пост показывает,...
1198 просмотров
schedule
04.11.2022
Коллизии имен для методов расширения из разных фреймворков
В качестве теста я создал два фреймворка. Обе структуры содержат это расширение:
public extension UIDevice {
var extraInfo: UIDeviceExtraInfo {
return UIDeviceExtraInfo()
}
}
public class UIDeviceExtraInfo {
public var prop:...
3223 просмотров
schedule
18.08.2022
Контроль доступа для расширений Swift
Язык программирования Swift говорит об управлении доступом для расширения:
Вы можете расширить класс, структуру или перечисление в любом контексте доступа, в котором доступен класс, структура или перечисление. Любые члены типа, добавленные в...
7576 просмотров
schedule
08.09.2023
Объекты расширения массива Swift 2.1AtIndexes
Я пытаюсь расширить массив, чтобы возвращать только объекты с определенными индексами. Функция карты показалась мне здесь лучшим выбором.
extension Array {
func objectsAtIndexes(indexes: [Int]) -> [Element?]? {
let elements:...
495 просмотров
schedule
28.08.2022
Как получить доступ к статическим переменным в методах, используя расширения протокола Swift, подобные «абстрактному классу»
Я пытался создать абстрактное поведение, подобное суперклассу, в Swift, используя протоколы и расширения, предложенные здесь: Абстрактные классы на языке Swift Но я не могу понять, как писать методы, использующие статические (классовые) переменные....
769 просмотров
schedule
20.07.2023
Реализация метода протокола по умолчанию с расширением Swift
Я пытаюсь написать поведение по умолчанию для метода делегата, используя расширение Swift, как показано ниже, но оно никогда не вызывается. Кто-нибудь знает, почему или как это сделать правильно?
extension NSURLSessionDelegate {
public func...
1105 просмотров
schedule
09.05.2023
Понимание использования расширения Swift в дизайне вашего API
API Alamofire имеет такие расширения, как extension Request в ResponseSerialization.swift. Почему при разработке Swift API вы должны использовать этот подход, а не просто добавлять эти методы в класс Request (Request.swift)?
Я понимаю...
276 просмотров
schedule
30.08.2022
Доступ к вычисляемому свойству протокола в расширении протокола
Предположим, у меня есть протокол вроде
protocol TypedString : CustomStringConvertible, Equatable, Hashable { }
func == <S : TypedString, T : TypedString> (lhs : T, rhs : S) -> Bool {
return lhs.description == rhs.description
}...
1617 просмотров
schedule
30.11.2022
Как использовать протокол @objc одновременно с необязательными и расширениями?
Этот код не компилируется и может показаться глупым, но я объясню, почему это так важно!
@objc protocol p {
optional func f1()
func f2()
}
extension p {
func f1() { }
func f2() { }
}
class foo: p {
}
Компилятор говорит...
8143 просмотров
schedule
07.01.2023
Как сделать расширение для нескольких классов Swift
У меня есть расширение:
extension UILabel {
func animateHidden(flag: Bool) {
self.hidden = flag
}
}
Мне нужно сделать такой же для UIImageView , но я не хочу копировать весь код. Можно ли сделать расширение для нескольких...
15957 просмотров
schedule
30.05.2023
Как расширить тип, который принимает общие элементы массива?
У меня есть тип, который я пытаюсь специально расширить: AnyObserver<[MyModel]> . Было бы легко расширить, если бы я не передавал массив как Element , что я могу сделать примерно так:
extension AnyObserver where Element: MyModel {...}...
1356 просмотров
schedule
14.12.2022
Метод не - '@ objc' не удовлетворяет необязательному требованию протокола '@objc' с условным расширением
Я пытаюсь создать реализацию MKMapViewDelegate по умолчанию, используя условное расширение следующим образом:
extension MKMapViewDelegate where Self: NSObject {
func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) ->...
3403 просмотров
schedule
22.06.2023