小编Joh*_*ker的帖子

第一次播放声音时AVAudioPlayer启动缓慢

我试图通过iPhone上的AVAudioPlayer播放(非常短 - 少于2秒)的音频文件来消除启动延迟.

一,代码:

NSString *audioFile = [NSString stringWithFormat:@"%@/%@.caf", [[NSBundle mainBundle] resourcePath], @"audiofile"];
NSData *audioData = [NSData dataWithContentsOfMappedFile:audioFile];

NSError *err;
AVAudioPlayer *audioPlayer = [(AVAudioPlayer*)[AVAudioPlayer alloc] initWithData:audioData error:&err];

audioPlayer.delegate = self;
[audioPlayer play];
Run Code Online (Sandbox Code Playgroud)

一旦完成,我还实现了audioPlayerDidFinishPlaying方法来释放AVAudioPlayer.

我第一次播放音频时滞后是显而易见的 - 至少2秒.然而,之后立即播放声音.我怀疑那个罪魁祸首是[NSData dataWithContentsOfMappedFile]最初从闪存中读取了很长时间,但后来读取速度很快.不过,我不确定如何测试.

是这样的吗?如果是这样,我是否应该预先缓存NSData对象并积极地在低内存条件下清除它们?

iphone audio caching nsdata avaudioplayer

36
推荐指数
4
解决办法
2万
查看次数

可以告诉clang不要分析某些文件吗?

我正在尝试使用clang来描述我正在进行的项目.该项目包括一个相当大的静态库,它作为依赖项包含在Xcode中.

我真的很想不要分析依赖项的文件,因为它似乎让clang失败了.这可能吗?我一直在阅读clang文档,但我还没有找到它.

xcode profiling clang

17
推荐指数
3
解决办法
3896
查看次数

CamelCase强调并回到Objective-C

我正在寻找一种简单有效的方法将CamelCase中的字符串转换为下划线表示法(即MyClassName - > my_class_name),然后再回到Objective C中.

我目前的解决方案涉及到大量的rangeOfString,characterAtIndexreplaceCharactersInRange上NSMutableStrings运营,只是普通的地狱丑陋:)看来,必须有一个更好的解决办法,但我不知道它是什么.

我宁愿不为这一个用例导入一个正则表达式库,尽管如果其他所有失败都是一个选项.

string objective-c nsstring

15
推荐指数
3
解决办法
5480
查看次数

jQuery没有加载到iPhone上

我正在尝试使用UIWebView来显示内容,并使用jQuery来操作该内容,但我无法加载jQuery.这是我设置UIWebView,设置baseURL和加载内容(本地包中的HTML文件)的代码:

UIWebView *view = [[UIWebView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];

NSString *path = [[NSBundle mainBundle] bundlePath];
NSURL *baseURL = [NSURL fileURLWithPath:path];

NSData *htmlData = [[NSData alloc] initWithContentsOfURL: [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]]];
NSString *htmlString = [[NSString alloc] initWithData:htmlData encoding:NSUTF8StringEncoding];
[view loadHTMLString:htmlString baseURL:baseURL];
Run Code Online (Sandbox Code Playgroud)

内容加载得很好,我已经通过向包添加图像并在HTML中引用它来确认baseURL是正确的,并且它可以正常工作.在我的Macbook上使用Safari中的相同HTML jQuery加载也很好,并按预期工作.

我已经尝试使用压缩的jquery-1.3.2.min.js和开发jquery-1.3.2.js,并且没有任何骰子.

有任何想法吗?

iphone jquery webkit uiwebview

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

为iPhone应用程序编译自定义SQLite

我正在尝试将SQLite合并源编译到我的iPhone应用程序中(让我可以访问iPhone编译版本的二进制文件中没有的全文搜索功能.

当我将sqlite3.c和sqlite3.h添加到普通的Carbon C应用程序模板时,它编译得很好(只有一个关于未使用变量的警告),但当我尝试在我的iPhone项目中编译它时,我得到了一些错误相关丢失函数声明.我可以通过明确地包含ctype.h来解决这些问题,但这有点奇怪.

但是,即使在构建之后,它仍然无法链接以下错误:

"_sqlite3_version", referenced from:
_sqlite3_version$non_lazy_ptr in sqlite3.0
symbol(s) not found
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

我认为它是iPhone应用程序的构建设置中的东西,但我无法弄明白.有任何想法吗?

sqlite iphone xcode

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

结合Akka,Spray和嵌入式Jetty

我正在尝试创建一个包含Akka,Spray和Jetty的独立JAR.理想情况下,我将整个应用程序分发到该单个文件中,无需任何外部文件.

我了解如何创建嵌入式Jetty服务器实例

def main(args: Array[String]): Unit = {
    val server = new Server(9012);
    server.start();
    server.join();
    Thread.sleep(2000);
    server.stop();
}
Run Code Online (Sandbox Code Playgroud)

我在创建HelloService和Boot类时遵循了Spray示例代码,但我对如何连接两者没有任何想法,因此当在Jetty服务器上请求URL时,Spray服务会响应它.任何帮助将非常感激.

更新:由于Alois Cochard提出的调查线程(我来自网络脚本背景,我对Java Web服务的了解一直......具有挑战性!),我已经越来越接近解决这个问题了. ).我已经修改了我的main方法来启动服务器并读取入门模板中的Jettyakka配置文件.它正在读取这两个文件,但是现在当我导航到Jetty服务器上/上时我得到了这个:

HTTP错误:500

访问/的问题.原因:

断言失败:找到0个'喷雾根服务'的参与者,预计只有一个

我知道我错过了一些愚蠢的东西(可能我应该分解并使用SBT,但是能够在Eclipse中编译和运行,然后在浏览器中刷新,是如此简单和吸引人).

更新#2:找出问题所在.我没有创建一个WebAppContext对象,这意味着web.xml永远不会被读取,因此Akka永远不会被加载.这是现在正在修改的主要方法.

scala jetty akka

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

NSMutableArray计数始终返回零

我确定我做的很傻,但这让我发疯了.

我正在尝试遍历数据库结果,从这些结果创建对象,并将对象添加到NSMutableArray.我已通过NSLog调用验证数据是从数据库中正确读取并复制到对象,但NSMutableArray的计数始终返回0.

这是代码的本质:

while ([rs next]) {

    Kana *htemp = [Kana alloc];

    htemp.content = [rs stringForColumn:@"hiragana"];
    [hiragana addObject:htemp];

}
NSLog(@"Hiragana contains %d objects", [hiragana count]);
Run Code Online (Sandbox Code Playgroud)

假名源自NSObject,平假名是NSMutableArray的一个实例.

我确定这是一个新手的错误,我希望有人可以帮我.TIA!:)

cocoa objective-c

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

在Objective-C中获取对象的属性数组

是否可以在Objective C中获取所有对象属性的数组?基本上,我想要做的是这样的事情:

- (void)save {
   NSArray *propertyArray = [self propertyNames];
   for (NSString *propertyName in propertyArray) {
      [self doSomethingCoolWithValue:[self valueForKey:propertyName]];
   }
}
Run Code Online (Sandbox Code Playgroud)

这可能吗?它似乎应该是,但我无法弄清楚我propertyNames应该采用什么方法 .

properties object objective-c

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

无法使用另一列的值作为系列键为 Pandas DataFrame 中的列分配值

考虑一个带有 Dataframedf和 Series的简单示例s

import pandas as pd

matching_vals = range(20,30)

df = pd.DataFrame(columns=['a'], index=range(0,10))
df['a'] = matching_vals
s  = pd.Series(list("ABCDEFGHIJ"), index=matching_vals)

df['b'] = s[df['a']]
Run Code Online (Sandbox Code Playgroud)

在这一点上我希望df['b']到包含字母A通过J,而是它的所有NaN。但是,如果我用

n = df['a'][2]
df['c'] = s[n]
Run Code Online (Sandbox Code Playgroud)

thendf['c']充满了Cs,正如我所料,所以我很确定这不是一些奇怪的类型错误。

我是大熊猫的新手,这让我发疯了。

python series dataframe pandas

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

Javascript'this'值改变了,但无法弄清楚原因

我是一个完整的Javascript newb,我正试图围绕OLN.我遇到的是,当从同一个对象上的另一个方法调用一个对象方法时,被调用方法中'this'的本地值的值正在改变.这是我的代码:

var generator = {
    generateForLevelSkillAndCount : function(level, skill, count) {
        var functionCall = this['generate_' + level + '_' + skill];
        return functionCall(count);
    },
    generate_0_4 : function(count) {
        return this.generate_generic_dots(count, 3);
    },
    generate_generic_dots : function(count, maxDots) {
        /* do cool stuff and return it */
    }
};
Run Code Online (Sandbox Code Playgroud)

所以,我打电话generator.generateForLevelSkillAndCount(0, 4, 20),它正常工作,打电话generate_0_4(count).然而,这是失败的地方,Chrome的Javascript控制台告诉我"未捕获的TypeError:对象[对象DOMWindow]没有方法'generate_generic_dots'."

我知道的问题是,问题是thisin 的值generate_0_4是一个DOMWindow对象,而不是生成器(这this是指向的内容,generateForSkillLevelAndCount但我无法弄清楚为什么会发生这种情况.

更新:我根据CMS的建议更新了示例代码eval,但是返回了相同的错误,因此它不仅仅是一个eval错误.

javascript

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

在Clojure中更加惯用的逐行文件处理

我正在尝试使用Clojure 逐行读取(可能有也可能没有)YAML前置文件的文件,并返回带有两个向量的hashmap,一个包含frontmatter行,另一个包含其他所有内容(即正文) .

示例输入文件如下所示:

---
key1: value1
key2: value2
---

Body text paragraph 1

Body text paragraph 2

Body text paragraph 3
Run Code Online (Sandbox Code Playgroud)

我有这样的功能代码,但是对于我(对Clojure来说没有经验)鼻子,它充满了代码味道.

(defn process-file [f]
  (with-open [rdr (java.io.BufferedReader. (java.io.FileReader. f))]
    (loop [lines (line-seq rdr) in-fm 0 frontmatter [] body []]
      (if-not (empty? lines)
        (let [line (string/trim (first lines))]
          (cond
            (zero? (count line))
              (recur (rest lines) in-fm frontmatter body)
            (and (< in-fm 2) (= line "---")) 
              (recur (rest lines) (inc in-fm) frontmatter body)
            (= in-fm 1)  
              (recur …
Run Code Online (Sandbox Code Playgroud)

clojure

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

在CCRenderTexture中绘制抗锯齿圆

我是cocos2d/OpenGLES的新手,我遇到了一个无法找到解决方案的问题.基本上,我想在CCRenderTexture中绘制一个抗锯齿的圆,然后在多个精灵上使用该纹理.除了抗锯齿部分之外的一切都很简单,但是我被困住了,无法弄清楚接下来要去哪里.

我现在的代码是:

int textureSize = 64;
CCRenderTexture *rt = [CCRenderTexture renderTextureWithWidth:textureSize height:textureSize];
[rt beginWithClear:spriteColor.r g:spriteColor.g b:spriteColor.b a:0.0f];

ccDrawColor4F(spriteColor.r, spriteColor.g, spriteColor.b, spriteColor.a);
ccDrawCircle(CGPointMake(textureSize / 2.0f, textureSize / 2.0f), textureSize / 2.0f, 0.0f, 360, false);

[rt end];
Run Code Online (Sandbox Code Playgroud)

然而,这导致了锯齿状的混乱,我无法弄清楚从哪里开始.我在网上看过使用点绘制光滑圆圈的例子,但这似乎不适用于OpenGLES 2.0.

性能不是一个问题,因为我正在绘制纹理一次并重复使用纹理.

antialiasing cocos2d-iphone ios opengl-es-2.0

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