小编Dou*_*ugW的帖子

iphone支持多少个同时(并发)网络连接?

我似乎无法在任何地方找到这个,但我相信一定有答案......

iphone应用程序可以同时连接多少个HTTP连接?换句话说,如果我异步构建并运行一堆NSURLConnections,在开始排队之前有多少可以在飞行中?

此外,是否有一种方法可以通过编程方式检查可用和/或使用的线程数?

我正在尝试编写一个智能预取引擎,这些限制(如果有的话)将是有用的信息.

iphone cocoa-touch network-programming objective-c

13
推荐指数
1
解决办法
4482
查看次数

获取Android Google Analytics引荐来源代码

我们计划使用Google Analytics跟踪广告点击推介,通过Android电子市场推广到我们的应用程序.

根据Google文档,引荐来源代码是通过意图实现的,并由Google Analytics资源库自动记录.

这很好,但我们需要为我们自己的内部分析提取引用标记.该文档很少关于如何从初始启动意图中获取它的详细信息,以及有关如何在上线之前模拟它的说明.

有任何人对此有经验吗?

android google-analytics google-play

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

解析NSURL路径和查询(iphoneOS)

是否有任何标准对象或函数来解析NSURL的组件?显然我可以写一个,但为什么重新发明轮子?

[NSURL path]将返回一个NSString"argX=x&argY=y&argZ=z" 我想要回来的是一个填充的词典{@"argX" => @"x", @"argY" => @"y", @"argZ" = @"z"}

对于路径,它返回一个像"/ partA/partB/partC"这样的字符串,我宁愿得到一个带有结构的数组 {[0] => @"partA", [1] => @"partB", [2] => @"partC"}

我意识到这是一个非常具体的问题,但它似乎是很多人想要的......

编辑 - 这是为了iphoneOS!显然NSURL在Mac OS上有不同的功能

cocoa-touch objective-c nsurl ios

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

解决NSInteger < - > NSNumber问题

我写了一个大型社交网络iPhone应用程序,我遇到的最大问题之一是NSInteger(和所有其他NS非对象类型)不是一等公民.这个问题源于这样一个事实,显然,他们没有代表零值.

这会产生两个主要问题:

  1. 在从集合中存储/检索时,转换为NSNumber和从NSNumber转换的大量开销和不透明度.
  2. 不能代表零.通常,我希望能够表示"未设置"值.

解决此问题的一种方法是始终使用NSNumber,但这会让人非常困惑.在User模型对象中,我将有大约20个不同的NSNumber,并且没有简单的方法来判断每个是否是float,integer,bool等.

所以这是我对潜在解决方案和优点/缺点的看法.我并没有真正卖掉任何一个,所以我想我会要求反馈和/或解决这个问题.

  1. 继续使用NSInteger类型,并使用NSIntegerMax表示nil.
    PRO - 更少的内存开销
    PRO - 清除键入
    CON - NSIntegerMax并不是真的零.如果程序员不小心或不了解此约定,则无效值可能会泄漏到显示层.
    CON - 无法在没有转换的情况下将它们存储在集合中

  2. 使用NSNumber并使用匈牙利表示法指定类型(例如NSNumber fHeight,NSNumber iAge)
    PRO - 一等公民
    PRO - 无问题解决
    CON - 增加内存开销
    CON - 丢失编译器类型检查
    CON - 匈牙利表示法是有争议的

  3. 写我自己的一流的基本对象类型(认为Java http://developer.android.com/reference/java/lang/Integer.html)
    PRO -一等公民
    PRO -无问题解决了
    PRO -保持编译器的类型检查
    PRO - 对象比NSNumber简单.内部存储将特定于数据类型.
    CON - 增加内存开销
    CON - 牺牲了一些代码的可移植性和兼容性

寻找一个有利于这些技术之一的令人信服的论据,或者我没有想到你是否有一个.


UPDATE

我已经开始了,开始了一个开源项目(Apache 2.0),我将在其中提取一些内部类,因为我有时间.它目前包括一些更常见的本机数据类型(BOOL,CGFloat,NSInteger,NSUInteger)的对象包装器.我们选择这样做是因为它将这些数据类型升级为具有严格类型的一等公民.也许你不同意这种方法,但它对我们来说效果很好,所以如果你愿意,可以随意使用它.

我正在添加我们发现的其他类,包括磁盘支持的LRU缓存,"Pair"对象,低内存释放池等.

享受 github - Zoosk/ZSFoundation

iphone cocoa types objective-c

12
推荐指数
1
解决办法
3967
查看次数

Objective-C中的特定类类型参数

我想接受一个Class对象作为我的一个类的构造函数的参数.它需要用它做很多自定义工作,我想从类的用户那里抽象出来.

例如,假设我的班级是经销商,我想用任何类型的车辆初始化它.

所以我有以下层次结构:

Dealership : NSObject

Vehicle : NSObject
Truck : Vehicle
Van : Vehicle
Car : Vehicle
Run Code Online (Sandbox Code Playgroud)

我想要做的是,在经销商内部,实现以下初始化程序:

- (id)initWithVehicle:(Class)aVehicle;
Run Code Online (Sandbox Code Playgroud)

除了不接受泛型类之外,我想将它限制为仅仅类型为"Vehicle"的类(其中包括我所有的继承类).我可以在初始化程序中测试此属性,但如果有一种方法可以在编译时强制执行此操作而不是等待运行时反馈,那将会很棒.

看来你可以引用Class来限制实现某个接口的类,所以我可以在那里做一些hackery.有没有办法引用特定类型的Class对象?

编辑 - 请注意,我编辑了示例类,因为原始示例有点误导.该示例仅用于演示目的,而不是我正在使用的实际类层次结构.

iphone class objective-c

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

Cocoa中的实例变量命名约定

这个问题是关于目标c和cocoa中的变量命名风格.我只想强调,我不是在寻找一个"正确"的答案,只是好主意.

我已经阅读了Apple和Google的客观c风格指南,我对它们中的任何一个都不满意.Apple的指南没有关于实例变量和局部变量的任何真实样式建议.事实上,Cocoa库本身似乎非常高兴拥有与实例变量完全相同的函数参数.这让我个人感到畏缩.

谷歌指南指定实例变量应使用尾随下划线表示.好吧,一切都很好,但它表明我们然后用@synthesize property = property_合成每个公共属性.我不知道其他任何人,但如果我要为我的项目中的每个实例变量做这件事我都会被诅咒.我认为这是一个浪费和混乱的解决方案.

我很想用对象属性的myX(例如"myInstanceVariable")命名样式,但我很少在目标c中看到这种风格.

所以是的,你用的是什么?任何风格约定,我不知道你发现有用吗?您是否认为与实例变量同名的函数参数是危险的,尤其是在多个开发人员环境中?谢谢你们和gals!

注 - 正如许多人所指出的那样,我的术语在OP中没有.如果原始措辞损害了清晰度,请道歉,但我认为这一点仍然很明确.

cocoa coding-style objective-c naming-conventions

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

如何在文本上方移动UITextView修正建议

我正在使用UITextView粗略复制键盘上方的SMS文本框.我正在使用UITextView而不是字段,以便它可以使用多行进行扩展.

问题是,在我的UITextView中,修正建议会弹出文本下方,导致它们被键盘部分遮挡.

在SMS应用程序中,建议会在文本上方弹出.展示位置似乎不是UITextView或UITextInputTraits的属性.

知道如何复制这种行为吗?谢谢!

iphone cocoa-touch objective-c uitextview

10
推荐指数
1
解决办法
5746
查看次数

objective-c中局部常量的最佳实践

我看到很多Objective-c代码只是#defines它需要的局部常量,然后继续它的快乐方式.问题是,据我所知,#define没有作用域.其中许多都是Apple自己的示例代码.例如,在TableViewSuite示例5中,TimeZoneView.m中的drawRect函数包含以下块:

#define LEFT_COLUMN_OFFSET 10
#define LEFT_COLUMN_WIDTH 130

#define MIDDLE_COLUMN_OFFSET 140
#define MIDDLE_COLUMN_WIDTH 110

#define RIGHT_COLUMN_OFFSET 270

#define UPPER_ROW_TOP 8
#define LOWER_ROW_TOP 34

#define MAIN_FONT_SIZE 18
#define MIN_MAIN_FONT_SIZE 16
#define SECONDARY_FONT_SIZE 12
#define MIN_SECONDARY_FONT_SIZE 10
Run Code Online (Sandbox Code Playgroud)

有什么理由我不明白这不是荒谬的危险吗?至少,我们不应该在函数结束时#undef这些常量吗?

这是我的问题,我想:

是否更好的做法是在您需要的文件中定义所需内容,并在最后取消定义?或者你认为对这种类型的东西使用静态效果更好吗?使用静态consts是否有任何性能损失,或者编译器是否能够像#define一样有效地处理它们?

c iphone cocoa objective-c

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

Objective C @property评论

我使用Doxygen为我的目标c代码生成文档.到目前为止,我还没有找到任何关于如何正确记录属性的指南.我看过的例子都是以各种可能的方式做到的.有些人自己记录变量,有些人记录@property声明.有些使用//,而有些则使用完整的/***/块.

谁能指点我参考最佳实践?或者也许有关未来与Doxygen兼容的一些信息?我想坚持一种模式,至少,一旦他们发展出官方模式,就很容易适应Doxygen.

iphone comments doxygen objective-c

9
推荐指数
1
解决办法
3518
查看次数

从哪里来的Enum.values()?

我正在浏览文档和源代码,因为我想确定values()总是按照声明枚举值的顺序返回一个数组.事实证明,据我所知,它不在文档中.

我检查了Enum类的源代码,没有运气(有一个相关的,私有的"getValues"方法).

所以我猜测一些编译器/解释器-foo已经开始创建一个扩展Enum的类,如下所示:

public static enum MyEnum
Run Code Online (Sandbox Code Playgroud)

那么在编译期间,values()也会静态转换为硬编码数组吗?或者它实际上是在运行时调用的方法,如果是,它在哪里定义?

java enums android

8
推荐指数
1
解决办法
1298
查看次数