У меня есть каркас dylib с некоторыми подклассами UIView, выполненными в swift, которые я сделал, чтобы использовать новые вещии @IBInspectable
.Swift Framework ObjC interoperation
Так позволяет сказать, что у меня есть UITextField
подкласс там назван MyTextField.swift
так:
MyTextField.swift
@IBDesignable class MyTextField: UITextField {
// some properties etc.
// content is irrelevant
}
Теперь компилирует и хорошо работает в InterfaceBuilder до сих пор так хорошо. Но что мне нужно сделать, это импортировать этот специальный подкласс в мою реализацию Objective C контроллера, чтобы установить свойство в коде во время выполнения.
Каркас (названный myViews
) имеет заголовок с именем myViews.h
, который я могу импортировать в контроллерах заголовок так:
MyViewController.h:
@import myViews;
#import <UIKit/UIKit.h>
#import "myViews.h"
@interface MyViewController : UIViewController
@property(weak, nonatomic) IBOutlet MyTextField *txtName; // <-- This is the problem!
@end
Это где я m застрял! Таким образом, класс MyTextField
неизвестен из импортированных заголовков. myViews.h
был автоматически сгенерирован. Я попытался импортировать заголовки мостов там без успеха.
myViews.h:
#import <UIKit/UIKit.h>
//! Project version number for myViews.
FOUNDATION_EXPORT double myViewsVersionNumber;
//! Project version string for myViews.
FOUNDATION_EXPORT const unsigned char myViewsVersionString[];
// In this header, you should import all the public headers of your framework
// using statements like #import <myViews/PublicHeader.h>
#import <myViews/MyTextField-Swift.h> // <-- This is what I've tried to import here which doesn't work as well.
Надежда кто-нибудь может помочь мне. Заранее спасибо.
Почему downvote? – Daniel
у вас есть дроид :) Не могли бы вы узнать, как экспортировать этот быстрый класс? –
@AlexanderN Да, я делаю! – Daniel