小编Jam*_*man的帖子

如何在Objective-C 2.0中将方法标记为已弃用?

我是开发相当大的iPad应用程序的团队的一员,因此我们创建了许多不同的类.问题是一些方法现在已经过时了,我不想简单地删除它们,因为我知道整个系统的某些部分使用这些方法......但是有更好的(更新的)变体可以使用相反(一些旧的实际上称为新的,但整体类接口变得混乱).

有没有一种方法可以将某些方法标记为折旧(如@deprecated在Java和[Obsolete].NET中).

我看到Apple使用Availability.h并且有标签,例如

__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_NA,__MAC_NA,__IPHONE_2_0,__IPHONE_3_0);
Run Code Online (Sandbox Code Playgroud)

...这是唯一的方法(+ App Store是否可以安全地执行此操作?)或者是否有替代方案会在Xcode中标记警告?

iphone objective-c deprecated

139
推荐指数
5
解决办法
4万
查看次数

哪个ORM与SQL Azure一起使用?

只是想知道每个人对于什么ORM用于SQL Azure的想法?

我很习惯使用LINQ-to-SQL,我相信它可以让它与SQL Azure一起使用.但是,根据我的理解(如果我错了,请纠正我),在.NET框架的未来版本中,Linq-to-SQL不会有进一步的改进吗?

或者,有实体框架......而且更远离Microsoft Camp的NHibernate.

理想情况下,任何其他建议应该是免费或开源的.我见过Telerik的ORM,但这当然是商业产品.

我可以通过Google搜索获得每个ORM的定义/好处,但我只是对人们对ORM似乎最适合他们的意见感兴趣(即使它不是上述内容)

.net linq orm azure azure-sql-database

20
推荐指数
3
解决办法
2518
查看次数

初始化向量的特征

我绝不是一名加密专家,我一直在阅读围绕Stack Overflow和维基百科的一些问题,但在定义IV及其用法方面,没有什么是真正"明确的".

我发现的要点:

  • IV加在明文消息之前,以加强加密
  • IV真的是随机的
  • 每条消息都有自己独特的IV
  • 有时使用时间戳和加密哈希值而不是随机值,但由于可以预测时间戳,因此这些值被认为是不安全的
  • WEP(在802.11中)的弱点之一是IV将在特定数量的加密后重置,从而重复IV

我确信还有很多其他要点,有人能想到我错过的任何其他特征吗?

random encryption cryptography initialization-vector

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

如何使用iPhone SDK以编程方式生成PDF缩略图?

我们目前正在使用PDF内容UIWebViews.理想情况下,我希望能够在UITableView不加载许多不同的UIWebViews同时显示缩略图...它们足够慢以加载一个文档 - 更不用说10+!

有没有人对我如何做这个有任何提示?

我已经考虑过使用屏幕捕获加载的文档UIDocumentInteractionController,UIWebView但这意味着在显示表格之前必须先将它们缩略图.

pdf cocoa-touch objective-c ios

11
推荐指数
2
解决办法
8125
查看次数

查找PDF文档中的超链接?

我目前正在使用Aspose PDF Kit将"主PDF"拆分为单个文档+缩略图.这在目前运作良好,但我将渲染PDF的设备将不知道PDF中的注释/链接.

我知道有一种解析PDF文档以检测超链接等的X/Y位置的方法,是否有一种简单的方法来提取/迭代文档数据,以便将其写入外部XML文件?

c# pdf asp.net

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

Obj-C中的异常处理

我一直在阅读关于Apple开发人员文档的异常处理,但我想知道为什么标准C操作的异常没有被捕获?

例如,下面的代码仍然会崩溃应用程序,而不会将div捕获为零.请问@ try/@ catch块只捕获Obj-C代码吗?

@try {
    int i = 10 / 0;
}
@catch (NSException * e) {
    NSLog(@"Div by zero!");
}
@finally {
    // Nothing...
}
Run Code Online (Sandbox Code Playgroud)

c exception-handling exception objective-c

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

如何在UIView上使用CATransform3D添加特定类型的透视图?

我一直在创建iPhone应用程序,使用基本的转换(旋转,缩放等),但现在我想做一些更复杂的事情.

数学真的不是我的最强点...但我想知道如何将"透视"添加到UIView(见下图).我在Photoshop中使用偏斜选项快速模拟了截图.

我已经了解了stackoverflow的解决方案,我发现如何将透视变换应用于UIView?它的效果很好 - 但它并不是我所追求的,因为最左边的高度比最右边的边缘大.

有谁知道我怎么可能去做这个CATransform3D但没有这些不同的高度?

alt text http://img594.imageshack.us/img594/4354/perspectivel.png

iphone cocoa-touch objective-c cgaffinetransform catransform3d

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

在Google App Engine上组织实体组以进行编写

我对Google App Engine高复制数据存储区(HRD)上的"实体组"感到有些困惑.Google文档提到HRD每个实体组只允许每秒写入1次.

这到底是什么意思?这是每个用户请求写1个还是每个实体写1个(我假设它与"表"的概念类似).

例如,如果我有一个"用户"实体和一个"发布"表.如果"Post"是"User"的祖先:

  1. 这是否意味着一个 "用户"可以每秒创建一个 "发布"
  2. ...或者它是否意味着对"Post"实体的所有写入都被限制为每秒写入1次而不管用户是什么?(即,无论提交帖子的用户数是多少,系统一次只能保存1个帖子)
  3. ...或者是否意味着单个"用户"实体不能同时创建超过1个"发布"(即使数千个其他用户创建"发布"实体)?

我有什么选择来缓解这个问题?同时制作"用户"和"发布"根实体是否合理?这是否允许我在1次写入限制之外创建多个"Post"实例?如果说1000个用户同时创建"发布"条目,我想避免任何潜在的问题.

google-app-engine nosql google-cloud-datastore

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

在Objective-C中组织头文件的常规方法是什么?

我开始.h以最好的意图组织我的文件但不知何故他们变得令人作呕的凌乱.

下面是一个例子(这不是那么糟糕,但我看到更糟糕!).我尝试过分组,#pragma mark但看起来看起来更加混乱.

所有UILabel和UIButtons都是必需的(如上所述),因为它们显示来自Web服务请求的数据,因此如果我们使用Interface Builder来设计GUI,则它们都是必需的.例如,标签可能是产品的"重量"或"高度"特征.

有没有人对如何以最易维护/可读的方式组织这些有任何好的建议?

干杯

替代文字

iphone objective-c code-readability code-maintainability

5
推荐指数
0
解决办法
96
查看次数

如何限制CakePHP中的某些内容?

我是使用CakePHP的新手,但我已经发现我对快速开发Web应用程序非常有用.

但是,我想知道是否有办法以非标准方式限制对某些对象的访问.例如,如果我要创建单个CMS系统允许用户创建"站点",我如何断言用户(多个)可以访问该特定站点?

我可以在我的站点控制器中检查这个,但是我需要为我站点上的每个控制器检查一次 - 例如,我需要检查正在编辑的当前页面,新闻,联系人,文件等是否属于站点ID和用户有权编辑它吗?

即,thecms.com/pages/edit/123(我如何确定用户9可以编辑属于站点2的第123页)

我假设这超出了ACL可以提供的范围,因为它们是特定于实体的.有没有简单的方法来做到这一点?

php authentication cakephp

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

为什么我要使用除WCF之外的任何东西?

在用WCF完成几个小项目之后,我对它的功能非常满意.

但是,花了很短的时间研究替代方案,我很难找到使用基于Java的Web服务(如AXIS2或Metro)时会遇到的确切优势/缺点?

显然开源可能是其中之一,也脱离了Windows Server/IIS,但我看不到更多?

wcf axis2 web-services java-metro-framework

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

如何重置Core Data中的主键计数/最大值?

我已设法删除使用Core Data存储的所有实体(遵循此答案).

问题是,我注意到主键仍在向上计数.有没有办法(没有手动编写SQL查询)来重置实体的Z_MAX值?下面的截图来澄清我的意思.

值本身不是问题,但我只是担心在未来的某个时刻可能会达到最大整数,我不希望这种情况发生.我的应用程序将数据与Web服务同步并使用核心数据对其进行缓存,因此主键可能一次增加数百/千.删除整个Sqlite DB不是一个选项,因为我需要保留其他实体的一些信息.

我见过'重置'方法,但肯定会重置整个Sqlite数据库?如何重置这一组实体的主键?与我想要重置的主键没有关系到其他实体.

截图

iphone cocoa core-data objective-c

3
推荐指数
2
解决办法
1065
查看次数