我正在尝试使用HttpWebRequest发送GET请求.
我在网上找到了很多例子(例如,这一个 ......只是简单介绍一下这个Scrape()
方法).他们基本上都做同样的事情:
HttpWebRequest
使用WebRequest.Create(URL)创建一个对象并将其强制转换为HttpWebRequest
,然后使用该GetResponse()
方法获取响应HttpWebRequest
.
事情GetResponse()
似乎并不存在于任何一个HttpWebRequest
或WebRequest
(它是它的基类).我唯一的选择是使用BeginGetResponse()
.
我发现的唯一的事情GetResponse()
是同步,而BeginGetResponse()
异步,Silverlight只允许异步.嗯,这对我没有任何帮助,因为整个事情是一个XNA项目,这是我在里面创建的一个简单的C#类.
更确切地说,这是一款在XNA 4.0中创建的Windows Phone游戏
HttpWebRequest webRequest = WebRequest.Create(URL) as HttpWebRequest;
StreamReader responseReader = new StreamReader(
webRequest.GetResponse().GetResponseStream());
Run Code Online (Sandbox Code Playgroud)
有没有人知道为什么我没有GetResponse()
?
我的应用程序中有一些视图需要能够显示LTR和RTL内容(不是同时显示),并且它必须与常规应用程序布局方向无关.意思是,我希望能够在不改变系统语言的情况下告诉特定视图将其布局从LTR翻转到RTL,反之亦然.
我对此进行了相当多的研究,但除了以下两种解决方案之外,似乎不可能:
在iPhone上翻转RTL语言的布局
如何强制从RTL到LTR的"尊重语言方向",反之亦然
第一种解决方案与我的情况无关.第二个解决方案让我想到为每个视图保留两个版本,一个用于RTL,一个用于LTR,并且动态使用相关的版本.这意味着我将不得不在每次UI更新时更新两次视图.
当然,第三种解决方案是在显示视图之前,根据相关方向以编程方式手动更改视图的布局.
那么,这些是我唯一的选择吗?
PS:我只谈论布局,而不是本地化字符串,因为我自己正在处理正确的文本.
我的项目工作得很好,直到今天早上.我使用的是xcode 4.3,以及旧版本的OpenCV(我不确定确切的版本).OSX已经是10.7.x,但不是10.7.5
今天,在将OSX升级到10.7.5,xcode升级到4.5.2,以及下载OpenCV 2.4.3之后,我在尝试构建项目时遇到以下链接器错误:
架构armv7的未定义符号:
"_ OBJC_CLASS _ $ _ ALAssetsLibrary",引自:
opencv2中的objc-class-ref(cap_ios_video_camera.o)
"cv :: FeatureDetector :: create(std :: string const&)",引用自:
- [ImageAnalyzer在ImageAnalyzer.o中的detectBlobs:]
"cv :: FeatureDetector :: detect(cv :: Mat const&,std :: vector>&,cv :: Mat const&)const",引用自:
- ImageAnalyzer中的[ImageAnalyzer detectBlobs:]. o
ld:找不到架构armv7
clang的符号:错误:链接器命令失败,退出代码为1(使用-v查看调用)
为了使用新的opencv框架,我删除了对旧框架的引用,并将项目引用到从此处下载的官方预构建的opencv2.framework .
我还删除了对libz.dylib的引用,并添加了对libc ++.dylib的引用.
最后一步是将前缀文件更新为新框架.前缀文件中的相关部分现在如下所示:
#ifdef __cplusplus
#import <opencv2/opencv.hpp>
#endif
Run Code Online (Sandbox Code Playgroud)
这一切都缩小到这4个链接器错误我似乎无法摆脱.我尝试使用libstdc ++.dylib,但我得到了更多的错误.我也试图建立自己的OpenCV作为解释在这里,但我仍然得到同样的错误,预建框架.
我错过了什么?我的项目还需要改变什么吗?
更新:
正如所看到这里,设置"C++标准库"到"的libc ++(LLVM C++标准和C++ 11的支持libray"只产生一个错误:
clang:错误:-stdlib = libc ++的无效部署目标(需要iOS 5.0或更高版本)
将部署目标更改为iOS 5终于让我的项目再次运行.
这是否意味着OpenCV 2.4.3不适用于5岁以上的iOS版本?
我正在Swift中创建一个单例类,如下所示:
class SingletonClass {
class var sharedInstance: SingletonClass {
struct Singleton {
static let instance = SingletonClass()
}
return Singleton.instance
}
var a: Int?
var b: Int?
var c: Int?
}
Run Code Online (Sandbox Code Playgroud)
这允许我从任何地方访问共享实例:
SingletonClass.sharedInstance
Run Code Online (Sandbox Code Playgroud)
虽然这有效,但它并不能使这个实例成为整个系统中唯一可能的实例,这就是单身人士所关注的.
这意味着我仍然可以创建一个全新的实例,例如:
let DifferentInstance: SingletonClass = SingletonClass()
Run Code Online (Sandbox Code Playgroud)
并且共享实例不再是唯一的实例.
所以我的问题是:在Swift中有没有办法创建一个真正的单例类,其中只有一个实例可以在系统范围内进行?