草庐IT

headers_sent

全部标签

ios - Swift:使用协议(protocol)扩展导致 "unrecognized selector sent to instance"

我正在尝试向所有符合MyProtocol协议(protocol)的UIViewController添加点击功能。下面是我的做法:importUIKitprotocolMyProtocol:class{varfoo:String?{getset}funcbar()}extensionMyProtocolwhereSelf:UIViewController{funcbar(){print(foo)}}classTestViewController:UIViewController,MyProtocol{varfoo:String?overridefuncviewDidLoad(){supe

swift - 使用 URLSessionDownloadDelegate 获取 HTTP header

我如何从服务器获取header以检查状态代码是200、404等?我有一个委托(delegate)类:classDownloadDelegate:NSObject,URLSessionDelegate,URLSessionDownloadDelegate,URLSessionTaskDelegate{//Implementationsofdelegatemethods:[...]didFinishDownloadingTolocation:URL[...][...]didWriteDatabytesWritten:Int64,totalBytesWritten:Int64,totalBy

ios - 为什么 xcode 看不到我的 app-bridge-header 并告诉我文件 GIDSignInDelegate 未声明?

我正在按照本教程使用谷歌登录https://developers.google.com/identity/sign-in/ios/sign-in?configured=true&ver=swift在我的iOS应用上。我创建了一个简单的app-Bridge-Header.h文件并将其放在我项目的主文件夹中。稍后我将GIDSignInDelegate添加到类AppDelegate.swift中,但出现以下异常:使用未声明的类型GIDSignInDelegate。我的app-Bridge-Header.h只包含一行:#import我还完成了本教程前面提到的所有内容。那么为什么xcode看不到

ios - 符合 Codable 协议(protocol)的类因 encodeWithCoder : unrecognized selector sent to instance 而失败

我知道有几个与此类似的问题,它们往往都围绕着未正确遵守协议(protocol)的类展开,但这不应该是这里的直接问题。以下是目前给我这个问题的代码的浓缩版:enumBinary:Int{casea=0caseb=1casec=9}finalclassMyClass:NSCoder{varstring:String?vardate:Date?varbinary:Binary=.coverrideinit(){}enumCodingKeys:CodingKey{casestring,date,binary}}extensionMyClass:Codable{convenienceinit(f

swift - '-[__NSCFDictionary setObject :forKey:]: mutating method sent to immutable object' cause crash

我正在将NSUserDefault中的UserInfo字典指定为NSMutableDictionary。现在我的dicInfo是可变字典,但它包含的对象是不可变的。所以,当我试图替换这些值时,它会导致崩溃。我附上描述崩溃报告的图片。如果有任何解决方案,如何将可变字典的内部对象转换为可变。谢谢 最佳答案 NSDictionary类符合NSMutableCopying协议(protocol)。因此,我们可以在NSDictionary上调用mutableCopy方法来获取对象的NSMutableDictionary副本。letdicInf

objective-c - 如何检测是否正在使用/从 Swift 编译 Objective-C header

是否有预处理器宏告诉Objective-C编译器header是从Swift中包含的(在Framework中)?我想有条件地为Objective-C提供一些方法,但不为Swift提供。这是此question的后续. 最佳答案 @mattt的回答:UsetheNS_SWIFT_UNAVAILABLEmacro(availableonlyonXcode7andup). 关于objective-c-如何检测是否正在使用/从Swift编译Objective-Cheader,我们在StackOver

ios - 为什么我在 Xcode 7 : Bridging Header does not exsist? 中的桥接头中不断收到此错误

我将我的Xcode更新到版本7,现在我收到此错误消息,指出桥接header不存在。它告诉我它应该在/users/desktop/apps/projectname/projectname-bridging-header.h中。我checkin了文件,它在那里,但xcode仍然给我一个错误。有没有人以前遇到过这个问题并且知道如何解决它。谢谢! 最佳答案 使用不同的名称创建一个新的桥接文件并链接到该文件。 关于ios-为什么我在Xcode7:BridgingHeaderdoesnotexsis

swift - #include 来自模块化项目头文件的系统头文件给出 "Include of non-modular header inside framework module..."错误

我正在尝试将libarchive嵌入到我正在构建的基于Swift的框架中。我创建了一个模块映射以私下包含archive.h(在模块libarchive中接近尾声)frameworkmoduleX{requiresobjc,blocks,objc_arcumbrellaheader"X.h"privateheader"XPrivate.h"privateheader"x.h"useDarwin.Cmodulelibarchive{privateheader"archive.h"export*}}在archive.h中,以下行导致错误:#include我不明白为什么这个包含没有被映射到我的

ios - UICollectionView header 上的 UITapGestureRecognizer 不起作用?

我正在尝试将点击手势识别器添加到我的UICollectionView的标题中,但无论如何,我都无法触发numberOfPostsViewTapped()函数。我已经尝试了几个小时,并尝试在标题View中使用其他UI元素(例如其他View或标签),但没有任何帮助。非常感谢一些指导。funccollectionView(collectionView:UICollectionView,viewForSupplementaryElementOfKindkind:String,atIndexPathindexPath:NSIndexPath)->UICollectionReusableView{

ios - viewcontroller 的 header 不适合

所以我继承的应用程序的原始设置具有这样设置的导航栏(这是在我的AppDelegate中):privatefuncconfigureNavigationController(_navigationController:UINavigationController){navigationController.navigationBar.isTranslucent=falseself.window?.rootViewController=navigationControllerletimageView=UIImageView(image:UIImage(named:"logo-white")