我试图通过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对象并积极地在低内存条件下清除它们?
我正在尝试使用clang来描述我正在进行的项目.该项目包括一个相当大的静态库,它作为依赖项包含在Xcode中.
我真的很想不要分析依赖项的文件,因为它似乎让clang失败了.这可能吗?我一直在阅读clang文档,但我还没有找到它.
我正在寻找一种简单有效的方法将CamelCase中的字符串转换为下划线表示法(即MyClassName - > my_class_name),然后再回到Objective C中.
我目前的解决方案涉及到大量的rangeOfString
,characterAtIndex
和replaceCharactersInRange
上NSMutableStrings运营,只是普通的地狱丑陋:)看来,必须有一个更好的解决办法,但我不知道它是什么.
我宁愿不为这一个用例导入一个正则表达式库,尽管如果其他所有失败都是一个选项.
我正在尝试使用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,并且没有任何骰子.
有任何想法吗?
我正在尝试将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应用程序的构建设置中的东西,但我无法弄明白.有任何想法吗?
我正在尝试创建一个包含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方法来启动服务器并读取入门模板中的Jetty和akka配置文件.它正在读取这两个文件,但是现在当我导航到Jetty服务器上/上时我得到了这个:
HTTP错误:500
访问/的问题.原因:
断言失败:找到0个'喷雾根服务'的参与者,预计只有一个
我知道我错过了一些愚蠢的东西(可能我应该分解并使用SBT,但是能够在Eclipse中编译和运行,然后在浏览器中刷新,是如此简单和吸引人).
更新#2:找出问题所在.我没有创建一个WebAppContext对象,这意味着web.xml永远不会被读取,因此Akka永远不会被加载.这是现在正在修改的主要方法.
我确定我做的很傻,但这让我发疯了.
我正在尝试遍历数据库结果,从这些结果创建对象,并将对象添加到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!:)
是否可以在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
应该采用什么方法 .
考虑一个带有 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']
充满了C
s,正如我所料,所以我很确定这不是一些奇怪的类型错误。
我是大熊猫的新手,这让我发疯了。
我是一个完整的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'."
我知道的问题是,问题是this
in 的值generate_0_4
是一个DOMWindow对象,而不是生成器(这this
是指向的内容,generateForSkillLevelAndCount
但我无法弄清楚为什么会发生这种情况.
更新:我根据CMS的建议更新了示例代码eval
,但是返回了相同的错误,因此它不仅仅是一个eval
错误.
我正在尝试使用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) 我是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.
性能不是一个问题,因为我正在绘制纹理一次并重复使用纹理.
iphone ×3
objective-c ×3
xcode ×2
akka ×1
antialiasing ×1
audio ×1
caching ×1
clang ×1
clojure ×1
cocoa ×1
dataframe ×1
ios ×1
javascript ×1
jetty ×1
jquery ×1
nsdata ×1
nsstring ×1
object ×1
pandas ×1
profiling ×1
properties ×1
python ×1
scala ×1
series ×1
sqlite ×1
string ×1
uiwebview ×1
webkit ×1