如何让"AVCaptureVideoPreviewLayer"在横向显示时正确显示?它在纵向上工作正常但不旋转,并在父视图控制器处于横向时显示旋转的相机捕获.
到目前为止,我一直使用关系数据库(确实很开心!).然而,最近,我发现Parse并发现它非常好所以决定尝试一下.但是,它附带一个NoSQL数据库.我仍然试图绕过它.所以我的问题是,你会如何推荐实现本地化?我能想到以下方法,你怎么看?
方法A:在文档上有一个"字符串"字段,并在该字段中存储所有特定于语言的数据.例如,
"strings":
{
"en" :
{
"title" : "English title"
}
"de" :
{
"title" : "Deutsch Titel"
}
}
Run Code Online (Sandbox Code Playgroud)方法B:在文档上有多个字段,每个字段指向一个特定于语言的文件.定义另一个名为strings的文档.例如,
"strings_en": <Pointer to a *strings* object>
"strings_de": <Pointer to a *strings* object>
// And here's one *strings* document
{
"title" : "My English title"
}
Run Code Online (Sandbox Code Playgroud)方法C:就像在关系数据库模式中一样,有一个带有语言代码的单独字符串表.分别查询此表/文档并合并结果
方法D :(新)类似于方法B,在两个文档中支持许多列,目的是将所有相关数据保存在同一文档中.
{
"title_en" : "English title",
"title_de" : "Deutsch titel",
"description_en" : "English description",
"description_de" : "Deutsch beschreibung"
}
Run Code Online (Sandbox Code Playgroud)方法A:对我有意义,但我不知道一种简单的方法(在Parse框架中)只将相关数据发送回客户端.它会将所有字符串发送到客户端 - >冗余带宽使用
方法B:来自关系数据库背景,我不喜欢有太多列的前景(它最终可能有30种不同语言的30个不同的列),而且,客户端不能只使用对象.字符串.它总是必须在字段名称的末尾附加语言代码,这是繁琐的(并且也有风险).但这种方法对我来说最有意义. …
我正在开发一个链接多个静态库的 iOS 应用程序。挑战在于,这些链接库定义了具有不同实现的相同方法名称。奇怪的是,我没有收到任何duplicate symbol definition错误;但是,毫不奇怪,我最终只能访问该方法的一种实现。
更清楚地说,假设我有 libA 和 libB,它们都定义了一个名为 func1() 的全局 C 方法
当我链接 libA 和 libB 并调用 func1() 时,它会解析为 libA 或 libB 的实现,而没有任何编译警告。但是,我需要能够分别访问 libA 的 func1() 和 libB 的 func1()。
有一个类似的 SO post解释了如何在 C 中完成它(通过符号重命名)但不幸的是,正如我发现的那样,该objcopy工具不适用于 ARM 架构(因此是 iPhone)。
(我会把它提交到 App Store,因此,动态链接不是一个选项)
我们最近修改了我们的线程机制,支持dispatch_async在大多数地方使用'(在做了很多关于NSOperation和dispatch_async的阅读之后)*.然后我们的代码开始在代码的各个部分与EXC_BAD_ACCESS崩溃,总是在dispatch_async(queue,...)部分,没有明确的模式.通常在20分钟后发生--2小时.
我们的dispatch_async块用于通知听众,如下所示:
NSMutableSet *_listeners; // Initialised elsewhere and filled with interested listeners
void(^block)(id listener); // Block to execute
@synchronized(_listeners) {
for (id listener in _listeners) {
dispatch_async_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); // We used different queues for different listeners, but showing only one type of queue here for brevity
dispatch_async(queue, ^{ // CRASHING LINE
block(listener);
});
}
}Run Code Online (Sandbox Code Playgroud)
常见的症状是:
(这是一个自我回答的问题)
*我们喜欢简单dispatch_async,不需要阻止/依赖功能,NSOperationQueue我们很快就会转向C++,所以想保持低水平.
exc-bad-access dispatch grand-central-dispatch ios dispatch-async
ios ×3
avfoundation ×1
calayer ×1
dispatch ×1
landscape ×1
localization ×1
nosql ×1
parsing ×1
xcode ×1