问题列表 - 第40191页

如何在UIWebView中处理应用程序URL?

我最近发现我的UIWebView在ITMS链接上窒息.具体而言,在我的应用程序中的UIWebView,如果我浏览到一个网站,如这一个,然后单击"可用在App Store上的"链接,将UIWebView的错误了"错误域= WebKitErrorDomain代码= 101的网址不能显示".

经过一段谷歌搜索,我意识到我需要捕获应用程序链接的请求并让iOS处理它们.我开始时查看该方案是否以"itms"开头-webView:shouldStartLoadWithRequest:navigationType:,但意识到系统可以处理其他类型的应用程序链接.所以我想出了这个,相反:

- (void)webView:(UIWebView *)wv didFailLoadWithError:(NSError *)error {
    // Give iOS a chance to open it.
    NSURL *url = [NSURL URLWithString:[error.userInfo objectForKey:@"NSErrorFailingURLStringKey"]];
    if ([error.domain isEqual:@"WebKitErrorDomain"]
        && error.code == 101
        && [[UIApplication sharedApplication]canOpenURL:url])
    {
        [[UIApplication sharedApplication]openURL:url];
        return;
    }

    // Normal error handling…
}
Run Code Online (Sandbox Code Playgroud)

我有两个问题:

  1. 这样理智吗?我专门检查错误域和错误代码,并从userInfo中获取URL字符串.这些东西可能会留下来吗?
  2. 这适用于上面链接的应用商店链接,但当我切换回我的应用时,似乎有一个后续失败的请求因"帧加载中断"而失败.我怎么能摆脱那个?当我让OS处理请求时-webView:shouldStartLoadWithRequest:navigationType:,它不会发生,所以它有点烦人.

如何处理这些请求?

iphone cocoa uiwebview ios uiwebviewdelegate

61
推荐指数
2
解决办法
7万
查看次数

为什么你使用Git而不是Mercurial?(或相反亦然.)

我目前使用Git,我对它很满意,但我想更多地了解Mercurial.它比Git有什么优势吗?Git比Mercurial有什么优势?

我意识到已经对这两者进行了详细的比较,但这不是我要求的.我不想要冷静的信息,而是慷慨激昂(但礼貌!!!)的理由,为什么你认为一个更好/更容易/更快/更聪明/更强大等等.

git mercurial dvcs

26
推荐指数
9
解决办法
5320
查看次数

确定核心音频AudioBuffer中的帧数

我试图在iPhone/iPad上访问音频文件的原始数据.我有以下代码,这是我需要的路径的基本开始.但是,一旦我有了一个AudioBuffer,我就会感到难过.

AVAssetReader *assetReader = [AVAssetReader assetReaderWithAsset:urlAsset error:nil];
AVAssetReaderTrackOutput *assetReaderOutput = [AVAssetReaderTrackOutput assetReaderTrackOutputWithTrack:[[urlAsset tracks] objectAtIndex:0] outputSettings:nil];
[assetReader addOutput:assetReaderOutput];
[assetReader startReading];

CMSampleBufferRef ref;
NSArray *outputs = assetReader.outputs;
AVAssetReaderOutput *output = [outputs objectAtIndex:0];
int y = 0;
while (ref = [output copyNextSampleBuffer]) {
    AudioBufferList audioBufferList;
    CMBlockBufferRef blockBuffer;
    CMSampleBufferGetAudioBufferListWithRetainedBlockBuffer(ref, NULL, &audioBufferList, sizeof(audioBufferList), NULL, NULL, 0, &blockBuffer);
    for (y=0; y<audioBufferList.mNumberBuffers; y++) {
        AudioBuffer audioBuffer = audioBufferList.mBuffers[y];
        SInt16 *frames = audioBuffer.mData;
        for(int i = 0; i < 24000; i++) { // This sometimes crashes
            Float32 currentFrame …
Run Code Online (Sandbox Code Playgroud)

core-audio pcm void-pointers avfoundation ios

7
推荐指数
1
解决办法
6353
查看次数

python - 选择在指定位置具有最高整数值的子列表?

我有一个嵌套列表:

nested_list = [['a', 3], ['a', 1], ['a', 5]]
Run Code Online (Sandbox Code Playgroud)

如何迭代此列表,选择具有最大整数值的子列表?

holder = []

for entry in nested_list:
    tmp = sublist with max entry[2] value
    holder.append(tmp)
Run Code Online (Sandbox Code Playgroud)

我坚持编码第二行.

任何帮助非常感谢.

python max nested-lists

1
推荐指数
1
解决办法
3339
查看次数

8
推荐指数
2
解决办法
7553
查看次数

请记住刷新后哪个选项卡处于活动状

我正在网页上使用jquery选项卡,当页面刷新时,它会丢失我曾经使用过的标签并返回第一个标签页.

有没有人遇到这个问题,知道如何解决它?

jquery jquery-plugins

51
推荐指数
4
解决办法
9万
查看次数

C++ 11向量push_back模糊不清

请考虑以下代码:

#include <vector>

struct S { int a; double b; };

int main()
{
    std::vector<S> v;
    v.push_back({3, 4.5});
}
Run Code Online (Sandbox Code Playgroud)

g ++ 4.4抱怨对push_back()的调用不明确:

error: call of overloaded ‘push_back(<brace-enclosed initializer list>)’ is ambiguous
note: candidates are: void std::vector<_Tp, _Alloc>::push_back(const _Tp&) [with _Tp = S, _Alloc = std::allocator<S>]
note:                 void std::vector<_Tp, _Alloc>::push_back(_Tp&&) [with _Tp = S, _Alloc = std::allocator<S>]
Run Code Online (Sandbox Code Playgroud)

根据标准,这应该是模棱两可的,还是这只是g ++的一个问题?

我知道可以通过明确写出S的类型来解决它:

v.push_back(S{3, 4.5});
Run Code Online (Sandbox Code Playgroud)

但是S的类型名称可能很长,所以我宁愿不这样做......

c++ vector c++11

17
推荐指数
2
解决办法
3491
查看次数

有效实现Java Native Interface Webcam Feed

我正在开发一个项目,该项目从网络摄像头获取视频输入并向用户显示运动区域.我在这个项目中的"beta"尝试是使用Java Media Framework来检索网络摄像头源.通过一些实用功能,JMF可以方便地将网络摄像头帧作为BufferedImages返回,我构建了大量的框架来处理.但是,我很快意识到JMF不再受Sun/Oracle的支持,并且一些较高的网络摄像头分辨率(720p)无法通过JMF接口访问.

我想继续像BufferedImages一样处理帧,并使用OpenCV(C++)来获取视频源.单独使用OpenCV的框架,我发现OpenCV可以很好地有效地返回高清摄像头帧并将它们绘制到屏幕上.

我认为将这些数据提供给Java并实现相同的效率非常简单.我刚刚编写了JNI DLL,将这些数据复制到BufferedImage中并将其返回给Java.但是,我发现我正在进行的数据复制实际上是在阻碍性能.我的目标是30 FPS,但是只需要大约100毫秒就可以将OpenCV返回的char数组中的数据复制到Java BufferedImage中.相反,我看到大约2-5 FPS.

返回帧捕获时,OpenCV提供指向1D char数组的指针.这些数据需要提供给Java,显然我没有时间复制任何数据.

我需要一个更好的解决方案来将这些帧捕获到BufferedImage中.我正在考虑的一些解决方案,我认为其中没有一个非常好(相当肯定它们也会表现不佳):

(1)覆盖BufferedImage,并通过对DLL进行本机调用,从各种BufferedImage方法返回像素数据.(而不是一次进行数组复制,我按照调用代码的请求返回单个像素).请注意,调用代码通常需要图像中的所有像素来绘制图像或对其进行处理,因此这个单独的像素抓取操作将在2D for循环中实现.

(2)指示BufferedImage使用java.nio.ByteBuffer以某种方式直接访问OpenCV返回的char数组中的数据.非常感谢有关如何完成此任务的任何提示.

(3)用C++做一切并忘记Java.好吧,是的,这听起来像是最合乎逻辑的解决方案,但是我没有时间从头开始这个为期数月的项目.

截至目前,我的JNI代码已被编写为返回BufferedImage,但此时我愿意接受返回1D char数组然后将其放入BufferedImage.

顺便说一句......这里的问题是:将1D char数组图像数据复制到BufferedImage的最有效方法是什么?

提供了(低效)代码,我用它从OpenCV中获取图像并复制到BufferedImage:

JNIEXPORT jobject JNICALL Java_graphicanalyzer_ImageFeedOpenCV_getFrame
  (JNIEnv * env, jobject jThis, jobject camera)
{
 //get the memory address of the CvCapture device, the value of which is encapsulated in the camera jobject
 jclass cameraClass = env->FindClass("graphicanalyzer/Camera");
 jfieldID fid = env->GetFieldID(cameraClass,"pCvCapture","I");

 //get the address of the CvCapture device
 int a_pCvCapture = (int)env->GetIntField(camera, fid);

 //get a pointer to the CvCapture device
    CvCapture *capture …
Run Code Online (Sandbox Code Playgroud)

java performance webcam java-native-interface opencv

10
推荐指数
1
解决办法
2515
查看次数

有效排序的笛卡尔积的2个排序整数数组

需要提示设计一个有效的算法,该算法采用以下输入并吐出以下输出.

输入:两个整数A和B的排序数组,每个长度为n

输出:一个排序数组,由数组A和B的笛卡尔积组成.

For Example: 

Input:
A is 1, 3, 5
B is 4, 8, 10
here n is 3.

Output:
4, 8, 10, 12, 20, 24, 30, 40, 50
Run Code Online (Sandbox Code Playgroud)

以下是我尝试解决此问题的方法.

1)鉴于输出为n ^ 2,有效算法不能比O(n ^ 2)时间复杂度做得更好.

2)首先,我尝试了一种简单但效率低下的方法.生成A和B的笛卡尔积.它可以在O(n ^ 2)时间复杂度下完成.我们需要存储,所以我们可以对它进行排序.因此O(n ^ 2)空间复杂度也是如此.现在我们排序n ^ 2个元素,这些元素不能比O(n ^ 2logn)做得更好,而不对输入做任何假设.

最后我有O(n ^ 2logn)时间和O(n ^ 2)空间复杂度算法.

必须有一个更好的算法,因为我没有使用输入数组的排序性质.

arrays algorithm sorted cartesian-product

8
推荐指数
1
解决办法
1759
查看次数

Java Runnable问题

我目前正在学习Java课程,但我遇到了一些令人困惑的代码.

例:

Runnable runnable = new Runnable()
        {
            public void run()
            {
                //doStuff
            }
        };
Run Code Online (Sandbox Code Playgroud)

我真的不明白这段代码在做什么.

如何将run方法与类的实例相关联?

我用谷歌搜索"Runnable",发现它是一个界面.我是通过在大括号之间声明run方法来实现接口的吗?这可以在java中的任何接口上完成吗?

我可以使用一些链接/解释.谢谢!

java interface runnable

5
推荐指数
1
解决办法
951
查看次数