草庐IT

custom_obj

全部标签

objective-c - 用户默认值从 Obj C 迁移到 Swift

我正在为我的OSX应用开发一个更新,它最初是用Obj-C编写的。更新已用Swift重新编写我正面临一个奇怪的用户默认处理问题。(因为用户首选项不能在更新中更改)所有native类型(如Bool、String)用户首选项都工作正常,但符合NSCoding的类无法反序列化/取消归档。它给出了一个错误:Error:[NSKeyedUnarchiverdecodeObjectForKey:]:cannotdecodeobjectofclass(KSPerson)forkey(NS.objects);theclassmaybedefinedinsourcecodeoralibrarythatis

ios - 质量 : Custom AVFoundation Camera App VS. iOS 标准相机应用

我已经使用各种主题和照明进行了多项测试。每个测试都显示标准iOS相机应用程序质量明显优于我自定义的基于AVFoundation的应用程序(颜色未褪色、更好的对焦、更好的照明、更少的颗粒感)。我无法解释这些巨大的差异。下面是使用这两种方法(使用前置摄像头)拍摄的视频的屏幕截图示例。iOS标准相机应用自定义AVFoundation录制的视频自定义实现代码:letchosenCameraType=AVCaptureDevicePosition.Front//getcameraletdevices=AVCaptureDevice.devices()fordeviceindevices{if(!

ios - swift 3.1 : Crash when custom error is converted to NSError to access its domain property

我的Swift应用程序有一个自定义错误系统,其中MyError只是一个符合Error的简单类。现在,只要第三方库(PromiseKit)尝试将此错误转换为NSError然后访问其domain属性,应用程序似乎就会崩溃。在我自己的代码中,这样做按预期工作,那么为什么它会在库中崩溃以及处理它的正确方法是什么?Crashed:com.apple.main-thread0libswiftCore.dylib0x1011d86d8_hidden#19226_(__hidden#19178_:1788)1libswiftCore.dylib0x1011cda3c_hidden#19206_(__h

ios - 使用 Swift 和 Obj-C 进行单元测试

我正在开始一个新的Swift项目,并尝试为其创建单元测试。我将GoogleAnalytics框架添加到项目中,并链接了SystemConfiguration、CoreData、libsqlite3、libz和libGoogleAnalyticsServices。然后我必须手动创建一个桥接header并添加我将立即使用的GAheader。该应用程序已启动并运行并发布到GA。然后我尝试添加一些单元测试。发生这种情况后,如果我向测试目标添加桥接header,我会在我的桥接header中收到一个错误,即'GAI.h'filenotfound。我还收到来自编译器的SegmentationFaul

swift - iOS 10 : Custom UITabBar background image produces border at top of image. 如何删除它?

有没有人有摆脱iOS10中这个边框的有效解决方案?我有一个自定义的UITabBar背景图片。我已经尝试了以下但没有结果:tabBar.backgroundImage=UIImage(named:"myBackgroundImage.png")tabBar.shadowImage=niltabBar.shadowImage=UIImage()//i'vealsotriedcombinationsofthisinthestoryboarddirectly我终于举起双手,将条形样式设置为“黑色”。这并没有消除边框,而是使它变白了。所以它隐藏了它。 最佳答案

ios - UICollectionView 状态恢复 : customizing scroll position

我正在尝试找到处理元素可能四处移动的UICollectionView状态恢复的最佳方法。我的目标是确保在重新启动应用程序时CollectionView中最后查看的项目仍然可见,即使这些项目已经四处移动。例如,当项目A在索引3的单元格中时应用程序被杀死,当应用程序重新启动时,如果模型说项目A应该显示在索引4处,我希望CollectionView初始化偏移量到索引4处的单元格。我认为在我的UICollectionViewDataSource类中实现UIDataSourceModelAssociation协议(protocol)会为我解决这个问题,因为documentation状态:[UIT

ios - 从返回 NSArray 的 Swift 覆盖 Obj-C 类方法

我似乎无法重写以下方法,并创建了一个独立的示例,这已经困扰我几个小时了。这几乎肯定是愚蠢的,但我似乎无法覆盖swift类中的类方法,其中基类是ObjectiveC,特别是返回类型是NSArray*。.我刚刚得到错误,“Methoddoesnotoverrideanymethodfromitssuperclass”所以我的失败如下图所示:但是如果将返回类型更改为像NSString*这样简单的类型,它就可以正常工作现在我试过了Array并与其他几个人一起玩过,但我对Swift语法还是有点陌生​​,所以我几乎肯定遗漏了一些明显的东西。 最佳答案

objective-c - 在 Obj-C 中使用 Swift 协议(protocol)的实现

我正在尝试混合使用Swift和Obj-C来实现一种中介模式。我面临的问题是如何处理使用来自Obj-C的Swift协议(protocol)实现类。查看代码以了解我的意思:Swift协议(protocol)及其实现:@objcpublicprotocolTheProtocol{funcsomeMethod()}@objcpublicclassSwiftClass:NSObject,TheProtocol{publicfuncsomeMethod(){print("someMethodSwift")}}协议(protocol)的ObjC实现:#import"SwiftAndObjC-Swif

ios - Swift Custom Cell 使用标签创建你自己的 Cell

我刚开始使用Swift作为编程语言,但我遇到了自定义单元格的问题。当我尝试创建自定义单元格,然后继续尝试按照我需要的方式设计它们(样式设置为自定义)时,一切看起来都不错。现在我不知道如何将特定数据放入其中,因为我找到的所有教程都使用样式选项“基本”,其中它们只有一个文本标签,他们将数据分配给该文本标签。现在对我来说,当我“控制拖动”我的标签到我的代码中时,我给它们指定了特定的名称,例如“dateLabel”或“sourceLabel”,以便正确插入数据。现在我不确定,也找不到任何有效的答案,关于如何调用我的定制标签以便我可以将我的数据分配给它们...也许你们中有人可以帮我解决这个问题,

ios - Swift Bridging Header 和 Obj-C 类的可见性

我添加了桥接header,在build设置中指定了它的完整路径,桥接header是自动创建的。在此之后,我在其中包含了我的obj-c头文件。但是每次调用对象构造函数的尝试都失败了:“使用未声明的标识符”。我做过的事情列表:创建.m文件和建议创建桥接头的Xcode将obj-c文件添加到项目中并将它们导入到header中在build设置中提供了桥接头文件的完整路径在代码中使用了Obj-C类型...但它无法构建。然后,我提供的不是header的完整路径,而是项目所在文件夹的路径-没有结果。我根据苹果文档仔细检查了所有步骤,但没有结果。为什么?任何帮助将不胜感激。