小编rob*_*ble的帖子

XCTest中的Swift TyphoonBlockComponentFactory错误

我正在使用Swift与Typhoon和Cocoapods.一切顺利,直到我开始为我的Typhoon组件编写Integrationtest(根据Typhoon-Example-App测试).我想以与我在TyphoonFactory中的setUp() 方式相同的方式设置Test 方法AppDelegate.当我执行测试时,我总是得到一个

TyphoonBlockComponentFactory assertIsAssembly:] + 244:错误:MyApp.MyAssembly不是TyphoonAssembly的子类

Typhoon引发的错误(使用kindOfClass引擎盖下的方法.)相同的代码完美地工作AppDelegate,我无法弄清楚什么是错的.

为了验证这种行为,我实现了isKindOfClass检查booth类(参见下面的代码):

  • AppDelegate - > true
  • MyComponentTest - > false

有人可以帮助我吗?多谢!

PodFile

inhibit_all_warnings!

target "MyApp" do
pod 'Typhoon', '2.1.0'
end

target "MyAppTests" do
pod 'Typhoon', '2.1.0'
end
Run Code Online (Sandbox Code Playgroud)

MyAssembly.swift

public class MyAssembly : TyphoonAssembly{
    //Some definitions
}
Run Code Online (Sandbox Code Playgroud)

AppDelegate.swift

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool {
    …
    var assembly : MyAssembly = MyAssembly()
    //Always returns „true“
    println("Is type of class: …
Run Code Online (Sandbox Code Playgroud)

ios xctest typhoon swift xcode6-beta5

5
推荐指数
1
解决办法
629
查看次数

带协议的Swift实例变量

我必须将以下几行Objective-c代码翻译成swift.这是来自Objective-c JSONModel-Framework的示例,其中FrameworkOptional提供的协议应用于类型的实例变量NSString.我发现了一个相关的帖子,但我没有设法实现它.随着我的MYModel.swift实现Xcode抱怨Cannot specialize non-generic type NSString

谢谢你的帮助!

MYModel.swift

@objc(MYModel) public class MYModel : JSONModel {
   ...
   public var name : NSString<Optional>
   ...
}
Run Code Online (Sandbox Code Playgroud)

MYModel.h

@interface MYModel : JSONModel
...
@property (strong, nonatomic) NSString<Optional>* name; 
...
Run Code Online (Sandbox Code Playgroud)

JSONModel.h

...
/**
 * Protocol for defining optional properties in a JSON Model class. Use like below to define 
 * model properties that are not required to have values in the JSON input:
 * …
Run Code Online (Sandbox Code Playgroud)

objective-c ios jsonmodel swift

5
推荐指数
1
解决办法
1821
查看次数

Swift Typhoon组件属性注入不起作用

我正在快速使用台风,不知怎的,我的组件不会通过注入物质注入.对于像Strings它这样的简单类型.我提供了一个简单的例子来解释这个问题.的输出示出了结果serviceB有一个空引用serviceA.所有String属性都已正确设置,不会引发任何错误.我在这里做错了什么?

XCode:6-beta5,台风:2.1.0

MYServiceA.swift

@objc(MYServiceA) public class MYServiceA : NSObject {

    public var text : String!

} 
Run Code Online (Sandbox Code Playgroud)

MYServiceB.swift

@objc(MYServiceB) public class MYServiceB : NSObject {

    public var text : String!
    public var serivceA : MYServiceA!

}
Run Code Online (Sandbox Code Playgroud)

MYAssembly.swift

public class MYAssembly : TyphoonAssembly {

    public func serviceA() -> AnyObject {
        var definitionBlock : TyphoonDefinitionBlock = {(definition : TyphoonDefinition!) in
            definition.injectProperty("text", with: "some a text")
            definition.scope = TyphoonScopeSingleton
        }
        return TyphoonDefinition.withClass(NSClassFromString("MYServiceA"), configuration: definitionBlock) …
Run Code Online (Sandbox Code Playgroud)

ios typhoon swift xcode6 ios8

3
推荐指数
1
解决办法
1100
查看次数

标签 统计

ios ×3

swift ×3

typhoon ×2

ios8 ×1

jsonmodel ×1

objective-c ×1

xcode6 ×1

xcode6-beta5 ×1

xctest ×1