问题标签 [swinject]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
swift - 使用 swinject 注册具有关联类型的协议时出现问题
我想开发一个使用核心数据和领域的存储库模式的应用程序。我想根据我的需要解决协议。目的是在程序集中注入一个通用的核心数据存储库/领域存储库协议。
这条线出现问题说Protocol 'SleepRepositoryProtocol' can only be used as a generic constraint because it has Self or associated type requirements
由于使用通用(关联类型)属性,我无法注入睡眠存储库协议。我怎么解决这个问题?
另外,非常感谢您的回复。它真的帮了我很多。我对此还有一个问题。
var 存储库:SleepRepositoryProtocol
这给了我错误“协议 'SleepRepositoryProtocol' 只能用作通用约束,因为它具有 Self 或关联的类型要求”,我不知道如何解决我的 SleepRepositoryProtocol。
swift - 构建失败任务失败,退出代码 65
我正在开发一个使用 Carthage 的项目,距离上次打开该项目已经有几个月了。现在我正在尝试将依赖项移动到,.xcframeworks
因为旧的.framework
,它不起作用。我遇到了各种错误并修复了它们,但是有一个我无法修复的依赖项 SwinjectStoryboard 。
我也尝试过创建一个只有Swinject
和SwinjectStoryboard
依赖的空项目
但是,我的构建仍然失败,并显示以下消息
构建失败任务失败,退出代码为 65:/usr/bin/xcrun xcodebuild -project /Users/abu/Developer/xcframework_2/Carthage/Checkouts/SwinjectStoryboard/SwinjectStoryboard.xcodeproj -scheme SwinjectStoryboard-iOS -configuration Release -derivedDataPath /Users/abu /Library/Caches/org.carthage.CarthageKit/DerivedData/12.5_12E262/SwinjectStoryboard/2.2.0 -sdk iphoneos ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES archive VALIDATE_WORKSPACE=NO -archivePath /var/folders/g9/rjxrgn/6dpc7d2s0000 T/SwinjectStoryboard SKIP_INSTALL=YES GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=NO CLANG_ENABLE_CODE_COVERAGE=NO STRIP_INSTALLED_PRODUCT=NO FRAMEWORK_SEARCH_PATHS=$(继承)
/var/folders/g9/rjxzfx7d2s51_sr6stdkpc5c0000gn/T/carthage-xcframework-HTlC(在 /Users/abu/Developer/xcframework_2/Carthage/Checkouts/SwinjectStoryboard 中启动)这通常表明项目本身无法编译。请查看 xcodebuild 日志以获取更多详细信息:/var/folders/g9/rjxzfx7d2s51_sr6stdkpc5c0000gn/T/carthage-xcodebuild.Tafjce.log
我正在运行以下命令来构建依赖项
carthage.sh update --use-xcframeworks --platform iOS
这是我的 Cartfile 的内容
github“Swinject/Swinject”
github“Swinject/SwinjectStoryboard”
我被困在这个问题上几天了,希望有任何帮助
swift - VIPER + Swinject 中的路由器导航
我有mainAssembly
:
以两个模块为例:
这里是ProfileAssembly
:
一切正常,但我不知道如何配置我的路由器导航到另一个模块:
在 Swinject 之前,我使用过线框图,其中我有类似build()
函数的东西来返回特定的 VC。但是由于我的程序集位于主汇编程序容器中,我是否应该从我的应用程序中的任何路由器直接访问主汇编程序?
swift - 从 UI 测试应用新程序集不会更改返回的实例
我尝试从 UI 测试更改已注册的协议,但它没有改变。我在这里做错了什么?
我有一个共享的 DIAssembler,它使用程序集管理依赖关系,如下所示:
生产和测试组件具有相同的结构,我只更改创建的实例
有时我想在操作发生后从 DI 更改返回的实例。所以我尝试应用一个新的程序集来更改注册的实例,但它总是返回以前的实例PaymentsApiClient而不是TestingPaymentsApiClient