小编Mar*_*oft的帖子

在iPhone上进行XML解析的最佳方法

我已经熟悉了iPhone SDK中的NSXMLParser,但我发现它的事件驱动性质对我来说很尴尬.我只是想提取一些元素值,但是这个必须处理startElement,foundCharacters和endElement的概念似乎比实际应该更多的工作.我只是以错误的方式看待这个问题,还是在iPhone SDK中使用XML更简单的基于树/ DOM的方式?

如果建议只是使用NSXMLParser,是否有某些设计模式可以用来保持我的代码在startElement方法中没有5级嵌套ifs?

iphone objective-c

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

用于预加载要显示的后续视图的数据的模式

非常简单的用例:假设一个iOS应用程序显示一个带有电影列表的MovieListController视图(在a内UINavigationController).当用户触摸一个上,应用程序推送MovieDetailController到导航堆(即[[MovieDetailController alloc] initWithMovieId:(NSString *),在MovieDetailControllerviewDidAppear:方法,它使一个HTTP调用来检索基于传给它的电影ID的信息.

挑战在于,它MovieDetailController被立即推送到导航堆栈,并且在未检索到细节的情况下持续一两秒,视图显示了一堆空白字段,这是不合需要的.

为了解决这个问题,我正在考虑MovieListController不要立即将其MovieDetailController推入堆栈.相反,它提出了一个进度指示器(我使用SVProgressHUD),然后调用MovieDetailControllerinitWithMovieId:这将揭开序幕HTTP调用方法.然后,当接收到数据时,MovieDetailController将回调回去MovieListController以删除进度指示器,然后将其推MovieDetailController送到导航堆栈.

这种情况有更好的模式吗?我是否应该考虑在MovieDetailController准备就绪时将其自身推入导航堆栈?

注意:我已经考虑过加载详细视图并设置一个活动指示器,但你仍然可以看到它后面的"空视图"看起来有点奇怪.我也考虑过只MovieListController检索细节本身,但这似乎打破了封装模型 - MovieListController应该关注列出电影,而不是关于它们的细节.

有什么想法吗?这个电影的东西只是一个例子 - 在这里寻找一般模式.

objective-c uikit ios

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

什么类型的加密用于48位到48位?

我有一堆48位(6字节)值,我需要对称加密.这两个要求是:

  1. 得到的加密值也需要48位(6字节)长.它们关键本身可以(并且最好是)更长时间来防止暴力攻击.

  2. 产生的加密值需要是确定性的,即使用密钥B的值A将始终产生加密值C(我们在运行中加密并向用户显示加密数据,因此需要始终显示相同的值)

我发现的所有块密码都使用了64的最小块大小并且看起来是固定的(不能使用任意块大小).我应该考虑流密码吗?

我在Java中这样做.

注意:我已经看到了这个问题和相关的答案,但不清楚这些建议是否符合我的第二个要求.

java encryption cryptography

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

如何正确检测浏览器对不透明度的支持?

我有一些应用alpha透明度的javascript代码.在此之前,它会尝试检测浏览器支持的透明度类型,并将其存储在变量中以供日后使用.这是代码的样子:

// figure out the browser support for opacity
if (typeof br.backImg.style.opacity != 'undefined') 
    opacityType = 'opacity';
else if (typeof br.backImg.filters == 'object') 
    opacityType = 'filter';
else 
    opacityType = 'none';
Run Code Online (Sandbox Code Playgroud)

对于Firefox和Safari,第一个条件为真,对于IE7,第二个条件为真,但对于IE6,它落到最后一个条件.为什么IE6没有过滤器对象?有没有更好的方法来检测这个?

javascript internet-explorer transparency filter opacity

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

如何在不知道名称的情况下访问C结构的成员?

我正在处理一个未记录的API,我正在尝试进行一些逆向工程 - 不要担心这不是恶意的,只是试图以创造性的方式完成一个用例.

我有一个指向C结构的指针.有没有办法让我通过检查这个结构有多少成员来确定?他们的价值?

我怀疑实际的会员名称不可用,但也许他们是?

c objective-c

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

SQLException:没有这样的表

现在我在连接数据库时遇到了一些麻烦.我知道我正在寻找的表存在,因为当我使用命令行访问它们时,可以查询它们.

可能是一些轻微的疏忽,但我会喜欢一些帮助.

这是我连接到数据库包持久性的地方;

import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.SQLException;


public class DBRegistry {

    private static DBRegistry db = null;
    private static Connection connection = null;

    private DBRegistry() {};

    public static synchronized DBRegistry getUniqueInstance() {
        if (db == null) {
                db = new DBRegistry();
                return db;
        }
        else return db;
    }

    public synchronized Connection getDBConnection() {
            try {
                Class.forName("org.sqlite.JDBC");
                connection = DriverManager.getConnection("jdbc:sqlite:src/database/taskMan.db");
                return connection;
            } 
            catch (SQLException e) {e.printStackTrace();} 
            catch (ClassNotFoundException e) {e.printStackTrace();}
            return null;
    }

    public synchronized void closeConnection() { …
Run Code Online (Sandbox Code Playgroud)

java sqlite jdbc

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

如果声明了一个大变量,为什么C程序会崩溃?

我在Microsoft Visual Studio Express 2012中编译了以下C程序:

int main() {
   int a[300000];
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

这与msvcr110d.dll中的堆栈溢出崩溃!__ crtFlsGetValue().

如果我将数组大小从300,000更改为200,000它可以正常工作(因为这个简单的程序可以说是"工作",因为它没有做任何事情).

我在Windows 7上运行,并且还在Cygwin下使用gcc尝试了这个并且它产生了相同的行为(在这种情况下是一个seg错误).

有没有搞错?

c windows msvcrt

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