小编spe*_*der的帖子

是时候学习Objective-C/Cocoa for Apple agnostic

这个问题不可避免地是主观的,但无论如何我都会问.

我是个电脑.我一直都是个人电脑.虽然我对*nix感到非常满意,但我对Apple的专业知识很少.我有很多开发经验,并且认为我能够比大多数同事更快地学习新的语言和概念(尽管ML/F#仍然会定期让我受伤).我对C++非常熟悉,虽然自九十年代以来没有触及它,每天都在工作,并且对C#有100%的信心,我认为自己已经熟练掌握了Java并且在Lisp中开发了大量的东西. Prolog回到了当天.

我们最近有一个开发iPhone应用程序的请求,这听起来像我们非常感兴趣的一个有趣的主张.我们对Apple平台的内部经验很少.鉴于我们对Apple的大多数事情一无所知,对OSX和Apple UI范例几乎没有熟悉,并假设我们获得了必要的开发硬件:

  1. 需要学习什么?
  2. 优秀的开发人员需要多长时间才能加快速度?
  3. 追求这条路线可能会产生任何非明显的开支吗?

再一次,为这个问题的主观性质道歉.非常感谢.

iphone cocoa objective-c

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

HttpWebResponse:关闭流

我从HttpWebRequest(使用修改后的版本Jeff Richter的CCR包装器)获得响应,然后检查一些标头以决定是否继续下载.有时我可能不想继续,所以我因此发出response.Closerequest.Abort.是否有必要发出GetResponseStream然后关闭流,或者当调用response.Close时这是隐式的吗?

发出GetResponse后,文档说明:

您必须调用Close方法来关闭流并释放连接.如果不这样做可能会导致您的应用程序用完连接.

那么这是否意味着一旦我们得到响应,那么获取流并关闭它是必须的吗?

我们看到一些相当奇怪的问题,其中挂起的下载最终会淹没系统.这似乎是资源泄漏的最强候选者,但想知道是否有其他人有这个问题的经验.

顺便说一句:GetResponseStream是否安全,假设它是同一个流?

c# stream httpwebrequest httpwebresponse abort

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

GetConsumingEnumerable实际上是否从BlockingCollection中删除了一个项目?

MSDN上的评论在http://msdn.microsoft.com/en-us/library/dd267312.aspx上说明......

"BlockingCollection的默认集合类型是ConcurrentQueue"

这是否意味着当我在集合上运行"GetConsumingEnumerable()"时,拉出的项目正在从队列中出列,并且在使用后将标记为GC?

换句话说......在下面的代码片段中,

foreach (var item in collection.GetConsumingEnumerable())
        {
            //do something with item
        }
Run Code Online (Sandbox Code Playgroud)

循环迭代后项目会发生什么?

c# collections blockingcollection

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

python中的对象初始化语法(c#)?

我想知道是否有一种快速方法来初始化python中的对象.

例如,在c#中,您可以实例化一个对象并设置字段/属性,如...

SomeClass myObject = new SomeClass() { variableX = "value", variableY = 120 };
Run Code Online (Sandbox Code Playgroud)

谢谢

布赖恩

c# python class instantiation

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

如何在不丢失 TZ 信息的情况下解析此 DateTime?

我有一堆字符串是从某个数据库转储的 DateTime 值......可能是 MySql。我无法控制结构。

字符串如下所示:

2011-05-17 00:00:00 等/格林威治标准时间

我找到了涉及在解析之前替换“Etc/GMT”的解决方案。这闻起来很糟糕。

是否有一步解决方案可以将此字符串转换为 DateTime 而不剥离时区信息?

c# datetime parsing

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

C# Linq 查询选择以 String 开头的所有枚举

我有一个enum, 我想找到enum以传入字符串开头的所有匹配值(不区分大小写)

例子:

enum Test
{
   Cat,
   Caterpillar,
   @Catch,
   Bat
}
Run Code Online (Sandbox Code Playgroud)

例如,如果我指定"cat"此 Linq 查询,它将选择Test.Cat, Test.Caterpillar,Test.Catch

c# linq

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

使用 javascript map() 返回未定义元素的数组

抱歉,这可能很微不足道,但我仍然找不到解决方案:

我有一个包含以下元素的对象:

 0: "A"
 1: "B"
 2: "C"
Run Code Online (Sandbox Code Playgroud)

我想使用 map() 函数将其转换为如下所示:

0: {name: "A"}
1: {name: "B"}
2: {name: "C"}
Run Code Online (Sandbox Code Playgroud)

如果我使用这个:

this.xxx = this.operations.map(obj =>  obj.name);
console.log(this.xxx);
Run Code Online (Sandbox Code Playgroud)

或这个:

this.xxx = this.operations.map(obj => {name:obj} );
 console.log(this.xxx);
Run Code Online (Sandbox Code Playgroud)

xxx 的元素未定义。

javascript json object

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

块/方法可以互换吗?

我来自C#/ Java/JS到objectiveC,我只有几天了,所以对我很轻松.

...所以我有一个方法,将一个块作为参数:

-(void)subToPub: (NSString*)publisherName 
      channelId: (NSString*)channelId 
       callback: (void(^)(NSDictionary*))cb
Run Code Online (Sandbox Code Playgroud)

我通常会使用如下:

[myObj  subToPub:@"someId" 
       channelId:@"someOtherId" 
        callback:[(^(NSDictionary* msg){
                    NSLog(@"cb2: %@",msg);
                 }) copy]
];
Run Code Online (Sandbox Code Playgroud)

现在,假设我有另一种兼容签名的方法,例如:

-(void)subscribeHandler:(NSDictionary*)msg{
    NSLog(@"cb2: %@",msg);
}
Run Code Online (Sandbox Code Playgroud)

是否可以将此作为回调传递给上面的subToPub方法,或者我是否需要在块中包装此方法调用?

objective-c ios objective-c-blocks

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

挂钩结束ARC dealloc

鉴于以下简单实现:

@implementation RTUDeallocLogger
-(void)dealloc
{
    NSLog(@"deallocated");
}
@end
Run Code Online (Sandbox Code Playgroud)

我们在ARC下运行以下代码:

@implementation RTURunner
{
    NSArray* arr;
}
-(void)run{
    arr = [NSArray
           arrayWithObjects:[[RTUDeallocLogger alloc]init],
                            [[RTUDeallocLogger alloc]init],
                            [[RTUDeallocLogger alloc]init],
                            nil];
    NSLog(@"nulling arr");
    arr = NULL;
    NSLog(@"finished nulling");
}
@end
Run Code Online (Sandbox Code Playgroud)

我们得到以下日志输出:

nulling arr
finished nulling
deallocated
deallocated
deallocated

所有解除分配完成后我想执行一个动作.这可能吗?

这个问题的目的是为了更多地了解ARC的机制,特别是ARC在什么时候触发这些解除分配,以及当我删除引用时这是否会同步发生.

objective-c dealloc ios automatic-ref-counting

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

展平没有名称属性的JSON

{
    "build": 44396,
    "files": ["00005DC8F14C92FFA13E7FDF1C9C35E4684F8B7A", [
        ["file1.zip", 462485959, 462485959, 2, 0, 883, true, 266716, 1734, 992, 558, 0],
        ["file1.doc", 521042, 521042, 2, 0, 883, true, 266716, 1734, 992, 558, 0]
    ], "0001194B90612DFB5E8D363249719FB62E221430", [
        ["file2.iso", 501163544, 501163544, 2, 0, 956, true, 194777, 2573, 0, 0, 0]
    ], "0002B5245B0897BEA7D7F426E104B6D24FF368DE", [
        ["file3.mp4", 284564707, 284564707, 2, 0, 543, true, 205165, 1387, 853, 480, 0]
    ]]
}
Run Code Online (Sandbox Code Playgroud)

我喜欢将上面的json展平为ID,fileName,fileSize IE

00005DC8F14C92FFA13E7FDF1C9C35E4684F8B7A    file1.zip   462485959
00005DC8F14C92FFA13E7FDF1C9C35E4684F8B7A    file1.doc   521042
0001194B90612DFB5E8D363249719FB62E221430    file2.iso   501163544
0002B5245B0897BEA7D7F426E104B6D24FF368DE    file3.mp4   284564707
Run Code Online (Sandbox Code Playgroud)

如您所见,大多数属性没有名称.文件数组还将id与文件对象交替.

我尝试使用类,但得到错误:"无法反序列化当前的JSON数组{"无法将当前的JSON数组(例如[1,2,3])反序列化为类型'Rename.frmMain + jsonFiles',因为该类型需要JSON对象(例如{\"name …

c# json

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