请看以下方法:
-(void)updateProfile:(Profile *)profile WithJSON:(NSString *)JSON;
{
SBJSON *parser = [[SBJSON alloc] init];
NSDictionary *object = [parser objectWithString:JSON error:nil];
NSNumberFormatter *nf = [[NSNumberFormatter alloc] init];
[nf setPositiveFormat:@"#,##0"];
profile.displayName = [object valueForKey:@"displayName"];
profile.profileURL = [object valueForKey:@"profileURL"];
NSString *rep = [object valueForKey:@"reputation"];
profile.reputation = [[nf numberFromString:rep] intValue];
//[rep release]; <-Why not release?
[nf release];
//[object release]; <-Why not release?
[parser release];
}
Run Code Online (Sandbox Code Playgroud)
我已经注释掉了两行,如果没有,它会给我EXC_BAD_ACCESS.
有人可以向我解释为什么发布这些对象是错误的吗?
今天我必须坚持使用stoopid,因为我花了一个多小时试图了解如何在我正在研究的这个iPhone项目中使变量args工作.有人可以帮助我在下面的单元测试中获得绿色条形图吗?我哪里错了?
#import <SenTestingKit/SenTestingKit.h>
@interface VAArgsTest : SenTestCase
{
}
@end
NSString* vaArgsAppend(NSString *first, ...)
{
NSMutableString *list = [[NSMutableString alloc] initWithString:first];
id eachArg;
va_list argumentList;
va_start(argumentList, first);
while(eachArg = va_arg(argumentList, id)) {
if(eachArg)[list appendString:(NSString*)eachArg];
}
va_end(argumentList);
return [list autorelease];
}
@implementation VAArgsTest
-(void) testCallVaArgsAppend
{
NSString *result = vaArgsAppend(@"one ", "two ", @"three");
STAssertEqualObjects(result, @"one two three", @"Expected appended string.");
}
@end
Run Code Online (Sandbox Code Playgroud) 在Integer数组级别中获取逗号分隔的整数列表的最简单/最佳实践方法是什么?
Dim levels(5) As Integer
Dim levelsStr As String
'put values in levels'
'Attempt 1: Failed'
levelsStr = String.Join(", ", levels) ' <- Error on levels'
'Value of type "1-dimensional array of Integer" cannot be converted'
'to "1-dimensional array of String" because "Integer" is not derived'
'from "String".'
Run Code Online (Sandbox Code Playgroud) 我的应用程序包含三个程序集:一个引用几个DLL的EXE.DLL对我的应用程序是私有的 - 它们仅由此可执行文件使用.
这些集会是否应该有一个强有力的名字?
FxCop建议他们应该 - 对于它目前生成的所有程序集:
CA2210:使用强名称密钥对<assembly>进行签名.
但是,这个建议说:
通常,您应该避免强命名应用程序EXE程序集.
和
您可能希望避免使用应用程序专用的强命名组件.
我应该给这些集会一个强有力的名字吗?在这种情况下这样做(或不这样做)有什么好处?
编辑:
看几个具有类似结构的应用程序,似乎没有就此问题达成共识.Paint.NET和Crack.NET的二进制文件没有强名称,而.NET Reflector和Snoop的二进制文件则没有.
有趣的是,使用Expression套件,Microsoft采用了后一种方法:例如,在Expression Blend中,他们选择对Blend.exe和随附的DLL(例如Microsoft.Expression.Blend.dll)进行强名称签名.
似乎我不太可能得到第一个问题的简单答案:"我应该给这些集会一个强有力的名字吗?".但是,我的第二个问题仍然存在:
在这种情况下,强名称签名二进制文件是否有任何好处?或者,不这样做会有什么好处吗?
编辑2:
如果无论如何都没有压倒性的理由,我倾向于给我的集会一个强有力的名字.因此,我对是否有人可以扩展(从第一个链接)感兴趣:
"强命名可能会使管理依赖项变得更加困难,并为私有组件增加不必要的开销."
目标是构建一个服务,然后我将通过jQuery和基于标准的Web前端,移动设备"胖客户端"以及很可能是WPF桌面应用程序来使用.
看起来WCF会是一个不错的选择,但我从来没有用WCF构建RESTful服务,所以我不确定从哪里开始这种方法.
我正在考虑的另一个选项是使用ASP.NET MVC,添加一些自定义路由,添加一些控制器操作并使用不同的视图来推出JSON,xml和其他返回类型.
这个项目主要是我自己的学习练习,我想花一些额外的时间来做"正确",这样我就可以更好地了解各个部分是如何组合在一起的.
所以我的问题是,我应该使用哪种方法来构建这种RESTful服务,这样做有什么好处呢?
我正在构建一个Rails应用程序,我想坚持所有那些像REST和Resources这样的花哨的东西,但我想稍微自定义我的路由.我希望我的GET路线更加冗长 - 我正在创建的应用程序是一个简单的博客,所以GET /posts/1我不喜欢类似的东西GET /posts/1-my-first-post.
任何想法如何做到这一点?没有在网上找到任何东西.
在Eclipse中构建我们的Java应用程序时,Spring构建器非常慢并且不提供状态更新.
具体来说,我开始构建一个项目,并显示Eclipse的Progress窗格
在'项目名称'上调用'Spring Project Builder'...
一次多分钟,没有其他细节.
我已经关闭了Spring AOP参考模型构建器,最近我刚刚绝望地禁用了Spring项目构建器.
我只是构建和使用这些项目,而不是开发它们,所以理论上它们应该编译好 - 但这是我们的开发分支,所以我仍然希望保持Spring,以防某些地方出现令人讨厌的反射错误.
所以,为了继续使用它们,我能做些什么:
编辑2010-02-15 21:39 GMT:
我特别指的是Eclipse中的Spring IDE插件.
java ×3
.net ×2
objective-c ×2
asp.net-mvc ×1
assemblies ×1
build ×1
c# ×1
eclipse ×1
erlang ×1
flash ×1
hashmap ×1
hashtable ×1
iphone ×1
performance ×1
release ×1
resources ×1
rest ×1
routes ×1
ruby ×1
spring ×1
strongname ×1
vb.net ×1
wcf ×1