iOS6新特征:Social Framework 参考之SLRequest

本文详细介绍了SLComposeViewController的使用方法及SLRequest类的功能、属性和方法,包括初始化请求、访问属性、发送请求等操作,以及如何利用SLRequest进行HTTP请求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.1.SLComposeViewController 类参考

说明:关于 SLComposeViewController 的详细使用说明,请参考下面的链接
iOS6新特征:Social Framework 参考之SLComposeViewController
iOS6新特征:SLComposeViewController[新浪微博]使用示例

 

1.2.  SLRequest类参考

 

继承自

NSObject

符合

NSObject (NSObject)

框架

/System/Library/Frameworks/Social.framework

可用性

iOS6以及之后

声明在

Social/SLRequest.h

 

1.2.1.    概述

SLRequest对象封装了一个HTTP请求的属性,为你创建请求提供了一个方便的模板。你可以发送一个请求至社交网络服务中,来代表用户执行一些操作或者获取用户信息。

HTTP请求有一些通用的组件:一个HTTP请求的方法(GET,POST,DELETE),一个URL来确定要执行的操作,一组查询参数,以及用一个可选的多字段POST body来包含附加信息。这些属性的值依赖于你所发送的请求和目标服务提供者。参考所支持的社交网络站点文档,以获知可能的值。在表2-1中是文档的链接。

使用requestForServiceType:requestMethod:URL:parameters:函数,根据具体的参数,初始化一个新的请求对象。使用addMultipartData:withName:type:方法有选择性的指定一个多字段POST body。当创建好请求之后,使用performRequestWithHandler:方法发送请求,并指定一个handler,当请求完成的时候该handler会被调用。如果你已经有了一个发送机制,可以使用preparedURLRequest方法来创建一个请求,这样就可以通过NSURLConnection对象来发送请求。如果请求需要用户授权,那么给account属性设置一个ACAccount对象。

 

表2-1 Social Services各自文档网站链接

Facebook

https://developers.facebook.com/docs/

Sina Weibo

http://open.weibo.com/wiki/

Twitter

https://dev.twitter.com/docs

 

1.2.2.    任务

初始化请求

+requestForServiceType:requestMethod:URL:parameters:

根据具体的参数,初始化一个新的请求对象。

 

访问属性

account属性

      用于授权请求的账号信息。

 

requestMethod属性

      请求使用的方法。

 

URL属性

      请求的目的URL。

 

parameters属性

      请求使用到的参数。

 

发送请求

–performRequestWithHandler:

      执行一个异步请求,并且当请求结束的时候调用指定的handler。

 

–preparedURLRequest

      返回一个授权URL请求,可以使用NSURLConnection对象来发送该请求。

 

–addMultipartData:withName:type:

      为请求指定多字段POST body。

 

1.2.3.     属性

account

用于授权请求的账号信息

@property(nonatomic, retain) ACAccount *account

 

讨论

account用于登录一个OAuth1服务或者为OAuth2服务添加一个access token。与请求相关的account,token是自动添加进去的。account的默认值是nil。

 

可用性

可用于iOS6.0以及之后

 

声明在

SLRequest.h

 

Parameters

请求的参数。(只读)

@property(nonatomic, readonly) NSDictionary *parameters

 

讨论

使用这个属性来查找HTTP请求的查询参数,这些参数是在requestForServiceType:requestMethod:URL:parameters:方法里设置的。可能出现的值依赖于目标服务,并且服务提供商会有相关文档。表2-1可以链接到所支持服务的相应的文档。

 

可用性

可用于iOS6.0以及之后

 

声明在

SLRequest.h

 

 

requestMethod

请求使用的方法。(只读)

@property(nonatomic, readonly) SLRequestMethod requestMethod

 

讨论

使用这个属性来查找HTTP请求的方法,这个方法是在requestForServiceType:requestMethod:URL:parameters:方法里设置的。可能使用的值在“SLRequestMethod”里有描述。

 

可用性

可用于iOS6.0以及之后

 

声明在

SLRequest.h

 

 

URL

请求的目的URL。(只读)

 

讨论

使用这个属性来查找HTTP请求的URL,这个属性是在requestForServiceType:requestMethod:URL:parameters:方法里设置的。可能使用的值在“SLRequestMethod”里有描述。可能出现的值依赖于目标服务,并且服务提供商会有相关文档。表2-1可以链接到所支持服务的相应的文档。

 

可用性

可用于iOS6.0以及之后

 

声明在

SLRequest.h

 

1.2.4.    类方法

requestForServiceType:requestMethod:URL:parameters:

根据具体的参数,初始化一个新的请求对象

 

+ (SLRequest *)requestForServiceType:(NSString *)serviceType requestMethod:(SLRequestMethod)requestMethod URL:(NSURL *)url parameters:(NSDictionary*)parameters

 

参数

serviceType

      社交网络服务类型。“Service Type Constants”给出了可能的值。

 

requestMethod

      HTTP请求的方法。“SLRequestMethod” 给出了可能的值。

 

url

      HTTP请求的目的URL。URL的值和格式值依赖于目标服务,并且服务提供商会有相关文档。表2-1可以链接到所支持服务的相应的文档。

 

parameters

      HTTP请求的参数。参数的值和格式值依赖于目标服务,并且服务提供商会有相关文档。表2-1可以链接到所支持服务的相应的文档。

 

返回值

新初始化的请求对象。

 

讨论

使用这个方法来始初化SLRequest。每个参数的值和格式依赖于目标服务。

 

可用性

可用于iOS6.0以及之后

 

声明在

SLRequest.h

 

1.2.5.    实例方法

addMultipartData:withName:type:

为请求指定多字段POST body。

 

- (void)addMultipartData:(NSData *)data withName:(NSString *)name type:(NSString*)type

 

参数

data

      多字段POST body的data,例如图片或者文字。

 

name

      多字段POST body的name,通常用来指定你post的data类型。

 

type

      多字段POST body的type,通常用来指定使用多字段数据的类型。

 

讨论

可能用到的参数值依赖于目标服务。这些信息以及使用多字段POST body的指导可以在服务提供商的文档中查看,表2-1可以链接到所支持服务的相应的文档。

 

可用性

可用于iOS6.0以及之后

 

声明在

SLRequest.h

 

performRequestWithHandler:

执行一个异步请求,当请求结束时,调用指定的handler。

 

- (void)performRequestWithHandler:(SLRequestHandler)handler

 

参数

handler

      当请求结束时,handler会被调用。这个handler的参数在SLRequestHandler里有描述。这个参数不保证被任意的线程调用,并且不能为nil。

 

可用性

可用于iOS6.0以及之后

 

声明在

SLRequest.h

 

 

preparedURLRequest

返回一个授权的URL请求,可以使用NSURLConnection对象进行发送。

 

- (NSURLRequest *)preparedURLRequest

 

返回值

一个OAuth-compatible NSURLRequest对象,允许应用程序代替用户来保存用户的密码。默认情况下,NSURLRequest使用OAuth1进行登录,或者使用OAuth2(在用户account中添加适当的token)。

 

讨论

在发送之前,使用这个方法来修改请求内容。如设置正确的account,这个方法会自动的添加需要用到的token。

 

可用性

可用于iOS6.0以及之后

 

声明在

SLRequest.h

 

 

1.2.6.    常量

Service Type Constants

serviceType参数可能的值

 

NSString *constSLServiceTypeFacebook;

NSString *constSLServiceTypeTwitter;

NSString *constSLServiceTypeSinaWeibo;

 

常量

SLServiceTypeFacebook

      字符串常量,用来标示Facebook社交网站

      可用于iOS6.0以及之后

      声明在SLRequest.h

 

SLServiceTypeTwitter

      字符串常量,用来标示Twitter社交网站

      可用于iOS6.0以及之后

      声明在SLRequest.h

 

SLServiceTypeSinaWeibo

      字符串常量,用来标示Weibo社交网站

      可用于iOS6.0以及之后

      声明在SLRequest.h

 

SLRequestMethod

标示请求中用到的请求方法。

 

typedefNS_ENUM(NSInteger,

SLRequestMethod){

SLRequestMethodGET,

SLRequestMethodPOST,

SLRequestMethodDELETE

};

 

常量

SLRequestMethodGET

      从指定的资源请求信息。使用GET请求方法从指定的服务中获取信息,例如字符限制或用户时间表。

      可用于iOS6.0以及之后。

      声明在SLRequest.h。

 

SLRequestMethodPOST

      提交数据以进行处理。使用POST请求来提交信息至指定的服务中,例如状态的更新或者一张图片。

      可用于iOS6.0以及之后

      声明在SLRequest.h

 

SLRequestMethodDELETE

      删除指定的资源。

      可用于iOS6.0以及之后。

      声明在SLRequest.h。

 

讨论

使用这些常量来设置requestMethod属性。使用的请求方法依赖于目标服务。表2-1可以链接到所支持服务的相应的文档。

 

SLRequestHandler

请求的回调handler

 

typedefvoid(^SLRequestHandler)(NSData *responseData, NSHTTPURLResponse *urlResponse,NSError *error);

 

讨论

这个handler的参数如下:

 

responseData

      请求返回的数据。这个数据的格式取决于目标服务。

 

urlResponse

      请求返回的数据,包含了HTTP响应代码。

 

error

      错误标示

 

可能使用到的值依赖于目标服务,服务提供商会在相关文档中说明。表2-1可以链接到所支持服务的相应的文档。

 

可用性

可用于iOS6.0以及之后

 

声明在

SLRequest.h

资源下载链接为: https://pan.quark.cn/s/9648a1f24758 这个HTML文件是一个专门设计的网页,适合在告白或纪念日这样的特殊时刻送给女朋友,给她带来惊喜。它通过HTML技术,将普通文字转化为富有情感和创意的表达方式,让数字媒体也能传递深情。HTML(HyperText Markup Language)是构建网页的基础语言,通过标签描述网页结构和内容,让浏览器正确展示页面。在这个特效网页中,开发者可能使用了HTML5的新特性,比如音频、视频、Canvas画布或WebGL图形,来提升视觉效果和交互体验。 原本这个文件可能是基于ASP.NET技术构建的,其扩展名是“.aspx”。ASP.NET是微软开发的一个服务器端Web应用程序框架,支持多种编程语言(如C#或VB.NET)来编写动态网页。但为了在本地直接运行,不依赖服务器,开发者将其转换为纯静态的HTML格式,只需浏览器即可打开查看。 在使用这个HTML特效页时,建议使用Internet Explorer(IE)浏览器,因为一些老的或特定的网页特效可能只在IE上表现正常,尤其是那些依赖ActiveX控件或IE特有功能的页面。不过,由于IE逐渐被淘汰,现代网页可能不再对其进行优化,因此在其他现代浏览器上运行可能会出现问题。 压缩包内的文件“yangyisen0713-7561403-biaobai(html版本)_1598430618”是经过压缩的HTML文件,可能包含图片、CSS样式表和JavaScript脚本等资源。用户需要先解压,然后在浏览器中打开HTML文件,就能看到预设的告白或纪念日特效。 这个项目展示了HTML作为动态和互动内容载体的强大能力,也提醒我们,尽管技术在进步,但有时复古的方式(如使用IE浏览器)仍能唤起怀旧之情。在准备类似的个性化礼物时,掌握基本的HTML和网页制作技巧非常
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值