首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

无法使用类型为'(NSData,toPeer:NSArray,......‘)的参数列表调用'sendData’

这个问答内容涉及到了iOS开发中的网络通信和数据传输部分。根据提供的问题,我将尝试给出一个完善且全面的答案。

问题描述:

无法使用类型为'(NSData,toPeer:NSArray,......‘)的参数列表调用'sendData'

回答:

这个问题是因为在调用'sendData'方法时,传入的参数类型不匹配导致的。根据错误提示,我们可以看到'sendData'方法的参数列表应该是NSData类型的数据,以及一个NSArray类型的目标设备列表。所以,我们需要将参数调整为正确的类型。

首先,我们需要确保要发送的数据是NSData类型的。可以通过使用NSData的相关方法将其他类型的数据转换为NSData。例如,可以使用data(using:)方法将字符串转换为NSData,或者使用NSKeyedArchiver将自定义对象转换为NSData。

其次,我们需要传入一个NSArray类型的目标设备列表。这个列表应该包含要发送数据的设备的标识符。在iOS中,可以使用MCSession的connectedPeers属性获取当前连接的设备列表,并将其转换为NSArray类型。

最后,我们可以调用'sendData'方法来发送数据。示例代码如下:

代码语言:swift
复制
// 将要发送的数据转换为NSData类型
let dataToSend = "Hello, World!".data(using: .utf8)

// 获取当前连接的设备列表,并转换为NSArray类型
let connectedPeers = session.connectedPeers as NSArray

// 发送数据
do {
    try session.send(dataToSend!, toPeers: connectedPeers as! [MCPeerID], with: .reliable)
} catch {
    print("Error sending data: \(error.localizedDescription)")
}

在上述示例代码中,我们首先将要发送的数据转换为NSData类型,然后获取当前连接的设备列表,并将其转换为NSArray类型。最后,我们使用'sendData'方法发送数据,其中包括要发送的数据、目标设备列表以及数据传输的可靠性选项。

推荐的腾讯云相关产品和产品介绍链接地址:

请注意,以上链接仅供参考,具体的产品选择应根据实际需求和情况进行评估和决策。

相关搜索:dataTask出错-“无法使用类型为...的参数列表调用'dataTask‘”无法使用类型为(具有: NSMutableRequest,...)的参数列表调用“”dataTask“”PromiseKit无法使用类型为“(Data)”的参数列表调用“fulfill”无法使用类型为'([T.T])‘的参数列表调用'append’无法使用类型为“(Decodable,from: Data)”的参数列表调用“decode”无法使用类型为'((Any))‘的参数列表调用'JSON’-请使用AlamoFire & SwiftyJSONSwift:无法使用类型为“((Any) throws -> Bool)”的参数列表调用“filter”无法使用类型为“(modelType: Decodable,data: Data)”的参数列表调用“decodeResponse”无法使用类型为“”(Any?,(Error?,DatabaseReference) -> Void)“”的参数列表调用“”setValue“”无法使用类型为“(Measurement<UnitLength>)”的参数列表为类型“”Float“”调用初始值设定项使用didFinishPickingMediaWithInfo方法时,无法使用类型为“”(Int,@escaping () -> ())“”的参数列表调用“”UIImage“”无法使用类型为'(from: T,to: T,by: T)‘Swift的参数列表调用'stride’无法使用参数列表'(rawValue: UInt)‘调用类型为'NSCalendar.Unit.Type’的值在RxSwift中的combineLatest中,无法使用类型为“”(@escaping (_) -> _)“”的参数列表调用“filter”无法使用类型为'(Range<String.Index>)‘的参数列表调用类型为'Range<_>’的初始值设定项无法使用'((AnyObject!,NSInteger,UnsafeMutablePointer<ObjCBool>) -> ())‘类型的参数列表调用'enumerateObjects’无法使用类型为'(texture: SKTexture,color: UIColor,size: CGSize,() -> ())‘的参数列表调用'SKSpriteNode.init’无法为没有参数的类型"closure“调用初始值设定项无法使用TableView将类型为'[String]‘的值转换为所需的参数类型'String’如何使用参数调用在python中存储为变量的函数?--抛出类型错误
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS应用数据存储(数据持久化)常用方式一、iOS数据持久化方式二、应用沙盒(应用程序文件夹)三、使用方法

,一般YES展开 Documents: 需要保存由应用程序本身产生文件或者数据,例如:游戏进度、涂鸦软件绘图 目录中文件会被自动保存在 iCloud 注意:不要保存从网络上下载文件,否则会无法上架...路径获取: 通过NSUserDefaults类存取该目录下设置信息 ---- 三、使用方法 1、属性列表 属性列表是一种XML格式文件,拓展名为plist,如果对象是NSString、NSDictionary...、NSArrayNSData、NSNumber等类型,就可以使用, 注意:不能存储自定义对象,会失败 存方法:writeToFile 读方法:如字典, dictionaryWithContentsOfFile...所以调用了set方法之后数据有可能还没有写入磁盘应用程序就终止了,解决上述问题,通过调用synchornize方法强制写入。...,默NSString、NSDictionary、NSArrayNSData、NSNumber等类型已遵守NSCoding协议,可以直接归档解档。

2.6K70

使用 TIMSDK 自定义字段 iOS 示例

扩展相应字段 Key,相应字段 Key 设置值 Value,这便是 IMSDK 字段使用方式 "消息自定义字段" 有些不一样,请翻至对应章节详阅 控制台添加自定义字段 1)进入控制台打开 "应用配置...,value是NSData类型或者NSNumber类型, key值按照后台配置字符串传入,不包括 TIMProfileTypeKey_Custom_Prefix 前缀 好友自定义字段 相关 API /...- (TIMFriend \*)queryFriend:(NSString \*)identifier // 获取缓存中关系链列表 - (NSArray \*)queryFriendList...,value是NSData类型或者NSNumber类型, key值按照后台配置字符串传入,不包括 TIMFriendTypeKey_Custom_Prefix 前缀 群成员维度自定义字段 相关 API...,不会同步到 Server,更换终端或删除消息将不会再获取到 setCustomInt 和 setCustomData 这个接口调用时机是需要发送成功之后调用 注意事项 TIMMessage 对象只会返回

1.1K40
  • AFNetworking源码探究(十四) —— AFSecurityPolicy与安全认证 (二

    如果self.validatesDomainName == YES,需要验证域名,那么调用下面函数,这个函数是Security框架中,是苹果原生,返回值类型SecPolicyRef,将该返回值加入到策略数组...如果需要验证domain,那么就使用SecPolicyCreateSSL函数创建验证策略,其中第一个参数true表示验证整个SSL证书链,第二个参数传入domain,用于判断整个证书链上叶子节点表示那个...== NO,不需要验证域名,那么调用下面函数,这个函数是Security框架中,是苹果原生,返回值类型SecPolicyRef,将该返回值加入到策略数组policies中。...使用certificatesInBundle从你目标加载证书,然后通过调用policyWithPinningMode:withPinnedCertificates来创建一个新策略。...只要公钥是正确,就能保证通信不会被窃听,因为中间人没有私钥,无法解开通过公钥加密数据。

    91620

    iOS常用数据存储方式

    1.1 目录结构分析 1.2 应用沙盒目录获取方式 1.3 偏好设置(standardUserDefaults 使用) 1.4 存储自定义类型对象到NSUserDefaults 2.1 什么是Keychain...2.2 案例:存储UUID来解决设备唯一标识符获取方案 2.3 iOS安全之敏感逻辑保护方案 4.1 例子:存储自定义类型 4.2 NS_DESIGNATED_INITIALIZER 宏使用 4.3...归档NSArray 5.1 FMDB例子 5.2 例子2:利用NSData归档2个Person对象到同一文件中 5.3 例子3:利用NSData实现深copy 6.1 基本用法 6.2 数据库缓存性能进行优化...日志输出 开关 7.9、coredata 延迟加载 7.10、NSManagedObject子类 前言 iOS应用数据存储常用方式 1、preference偏好设置 2、XML属性列表归档(plist...NSUserDefaults 自定义类型需要转成NSData再存 setObject NSData *data = [NSKeyedArchiver archivedDataWithRootObject

    1.9K20

    IOS开发系列—Objective-C之Foundation框架

    装箱和拆箱 其实从上面的例子中我们也可以看到,数组和字典中只能存储对象类型,其他基本类型和结构体是没有办法放到数组和字典中,当然你也是无法给它们发送消息(也就是说有些NSObject方法是无法调用...NSNumber,可以包装基本类型但是无法包装结构体类型 NSNumber *number1=[NSNumber numberWithChar:'a'];//'a'是一个C语言char类型我们无法放倒...; //动态调用一个方法,注意如果有参数那么参数类型只能为ObjC对象,并且最多只能有两个参数 /*反射*/ //动态生成一个类 NSString *className...那么如果我们非要使用NSMutabeString同时不使用属性copy参数如何解决这个问题呢?...xml属性列表 首先我们先来看一下xml属性列表,xml属性列表进行归档方式是将对象存储在一个plist文件中,这个操作起来比较简单,其实相当于xml序列化。

    75060

    ios邮箱怎么用_ios邮箱怎么添加多个账号

    //该方法在不退出应用程序前提下调用短信和邮箱,以下内容请在真机测试 //导入框架MessageUI.framework #import “ViewController.h” //首先导入头文件...controller [self presentModalViewController:mailPicker animated:YES]; }else{ //如果该设备不支持在不退出程序前提下调用邮件...,则会推出应用程序并调用系统邮件,mailto://固定写法后面加邮箱地址 [[UIApplication sharedApplication] openURL:[NSURL URLWithString...[self presentModalViewController:picker animated:YES]; } } else { //如果该设备不支持在不退出程序前提下调用短信...,则会推出应用程序并调用系统短信,mailto://固定写法后面加手机号码 [[UIApplication sharedApplication] openURL:[NSURL URLWithString

    1.2K20

    iOS开发之蓝牙通讯 原

    通过蓝牙进行通讯交互分为两方,一方中心设备central,一方外设peripheral,外设通过广播方式向外发送信息,中心设备检索到外设发广播信息,可以进行配对连接,进而进行数据交互。...//字典中支持键值如下 /* NSString * const CBCentralManagerOptionShowPowerAlertKey 对应一个NSNumber类型bool值,用于设置是否在关闭蓝牙时弹出用户提示...+ (CBPeripheralManagerAuthorizationStatus)authorizationStatus; //初始化并设置代理 参数具体含义与中心设备管理中心 - (instancetype... 如下 /* 对应设置NSString类型广播名 NSString *const CBAdvertisementDataLocalNameKey; 外设制造商NSData数据 NSString *const...:(NSArray *)invalidatedServices NS_AVAILABLE(NA, 7_0); //信号强度改变时调用方法 - (void)peripheralDidUpdateRSSI

    1.2K20

    Foundation framework in iOS

    NSArray是不可变,NSMutableArray是可变。二者在类型上是不同。如果需要操作数组还是用NSMutableString,这个版本array。...-来自360doc NSData和NSMutableData存储是二进制数据,在文件操作,网络,以及核心图形图像中使用较广泛。...通过使用NSFileManager类来管理和操作文件、目录,NSFileManager,文件或目录是使用文件路径名唯一标示。...如果指定为NULL的话就会使用默认行为,返回值是BOOL类型方法,操作成功返回YES反之返回NO 判断文件是否被删除 if([fm removeItemAtPath:@"filename" error...属性字典允许你指定要创建文件权限,如果将该参数指定为nil,该文件会被设置默认权限。

    6110

    iOS剪切板UIPasteboard开发应用解析

    第3个方法创建剪切板等价使用第2个方法创建剪切板,只是其名称字符串nil,它通常用于当前应用内部。...注意:使用第3个方法创建剪切板默认是不进行数据持久化,及当应用程序退出后,剪切板中内容将别抹去。若要实现持久化,需要设置persistent属性YES。... *)pasteboardType; //剪切板中最新数据对应某一数据类型设置数据 - (void)setData:(NSData *)data forPasteboardType:(NSString...:(nullable NSIndexSet *)itemSet; //根据数据类型获取一组数据NSData数据 - (nullable NSArray *)dataForPasteboardType:...,这些参数是系统定义好一些字符窜,如下: //所有字符串类型数据类型定义字符串数组 UIKIT_EXTERN NSArray *UIPasteboardTypeListString

    1.9K20

    iOS网络请求之上传图片:从示例到源码解析 -- 以上传Face++SDK回调图片例(HYNetworking,AFNetworking,XMNetworking)

    前言 网络框架 本文一开始上传图片以调用HYNetworkingAPI例,这个网络框架是以AFNetworking基础进行封装。...isEqualToString:[dic objectForKey:@"id_card_number"]]) { [Toast showBottomWithText:@"您使用身份证与您实名身份证不一致...:mimeType]; 这里是设置图片数据流,作为AFNetworkPOST请求方法一个constructingBodyWithBlock参数输入。...将描述图片参数字符串转化头字典 - (void)appendPartWithFileData:(NSData *)data name:(NSString...*)fileData 调用示例 - (NSString *_Nullable)uploadWithUploadImageModels:(nullable NSArray<UploadImageModel

    2.2K20

    SDWebImage源码分析 原

    SDWebImage代码结构基本可以分为3块:应用层类别、核心功能类、工具类与类别。其中我们最常使用是应用层类别。例如UIImageView图片加载,UIButton图片加载等。...一、帮助类与类别的解析 1.NSData+ImageContentType     这个类别是一个图片数据格式帮助类,使用它可以方便获取图片数据图片格式,其中枚举了常用图片格式如下: typedef...//数据是否可以进行解码 除了webp类型 其他类型图像都可以解码 - (BOOL)canDecodeFromData:(nullable NSData *)data; //进行图片数据解码 - (...- (BOOL)canEncodeToFormat:(SDImageFormat)format; //将图片编码数据 - (nullable NSData *)encodedDataWithImage...开发者可以使用单例方法来获取默认SDImageCache实例,也可以使用特殊Name值来创建缓存实例,常用函数列举如下: //缓存图片到内存和磁盘 - (void)storeImage:(nullable

    1K30

    iOS多用连接、反向协议、安全

    以下列几个比較常见用途: 传文件 聊天室 一台设备作为数据採集外设(比方:摄像头),将实时数据导到还有一台设备上 网络数据转发 … 多点连接 API 使用 SDK及版本号信息 MultipeerConnectivity.framework...关于使用大家能够看看參考资源与 MCDemo, 这里仅仅是做一个代码导读。...如:”Proteas-iPhone5s” 设备间交换ID时须要进行序列化, 序列化方法:-[MCPeerID serializedRepresentation] 总结起来就是:PeerID...我们没有做过多说明, 接下来我们大概看看 Data Key 生成: 在初始化一个多点连接 Session 时,我们能够指定加密方式, 这个加密方式是个枚举类型: MCEncryptionOptional...安全性分析 前文中也提到了,安全性控制是在初始化 MCSession 时控制, 默认是使用 MCEncryptionOptional。

    58120

    让你iOS应用程序支持运行JavaScript脚本:JavaScriptCore框架详解

    刚才我们只是简单了通过原生调用了一段JS代码,但是如果Native在调JS方法时无法传参那也太low了,我们可以直接将要传递参数格式化到字符串中,修改main.js文件如下: function put...同样,如果声明block是带参数,JS在调用此OC方法时也需要传入参数,如果block有返回值,则在JS中也能获取到返回值,例如: BOOL (^block)(NSString *) = ^...//获取当前执行函数参数列表,当JS调用OC方法时,在OC方法中可以用此方法获取到执行函数参数列表 + (NSArray *)currentArguments; //获取当前JS运行环境全局对象...在Objective-C中调用JS脚本或者JS调用OC方法都可以使用JSValue来传输数据。...是一个构造方法对象 可以调用此方法 和JavaScript中使用new关键字一致 - (JSValue *)constructWithArguments:(NSArray *)arguments; //

    5.1K30
    领券