小编Dou*_*ugW的帖子

如何在不折叠的情况下将ListView放入ScrollView?

我一直在寻找这个问题的解决方案,我能找到的唯一答案似乎是" 不要将ListView放入ScrollView ".我还没有看到任何真正的解释为什么.我似乎找到的唯一原因是Google认为你不应该这样做.好吧,我做了,所以我做到了.

所以问题是,如何将ListView放入ScrollView而不将其折叠到最小高度?

android android-listview android-scrollview

347
推荐指数
10
解决办法
24万
查看次数

Android - CheckBox和文本之间的间距

是否有一种简单的方法可以在CheckBox控件中的复选框和相关文本之间添加填充?

我不能只添加前导空格,因为我的标签是多行的.

原样,文本太靠近复选框: 替代文字

checkbox android padding

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

Amazon S3生命周期追溯应用程序

相当直截了当的问题.我设置的Amazon S3生命周期规则是否会追溯应用于数据?如果是这样,在旧数据开始存档或删除之前,我可能会看到什么样的延迟?

举个例子,假设我有一个拥有3年备份数据的存储桶.如果我创建一个新的生命周期,其中数据将在31天后存档,并在365天后删除,那么新规则是否会应用于现有数据?它会多久开始执行?

amazon-s3 amazon-web-services amazon-glacier

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

如何在Xcode中的选择内找到并替换?

在Xcode <4中,您可以按住"option"键,"Replace All"按钮将变为"Replace in Selection".从Xcode 4开始,这没有任何作用.任何人都知道是否有新方法,或者是错误提交时间?

xcode replace

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

何时释放相关对象?

我通过关联引用将对象B附加到对象A.对象B观察对象A到KVO的一些属性.

问题是对象B似乎对象A 之后被释放,这意味着它太迟了以将其自身移除为对象A的KVO观察者.我知道这是因为我得到了NSKVODeallocateBreak异常,然后EXEC_BAD_ACCESS在对象B的dealloc中崩溃.

有没有人知道为什么对象B在具有OBJC_ASSOCIATION_RETAIN的对象A之后被释放?解除分配后是否释放相关对象?他们是否被自动释放?有谁知道改变这种行为的方法?

我试图通过类别向类添加一些东西,所以我不能覆盖任何现有的方法(包括dealloc),而且我并不特别想要混乱.在对象A被释放之前,我需要一些方法来解除关联并释放对象B.

编辑 - 这是我正在努力工作的代码.如果在完全取消分配UIImageView之前释放了关联的对象,那么这一切都可以正常工作.我所看到的唯一解决方案是在我自己的dealloc方法中调整,并调回原来以调用它.但这真的很混乱.

ZSPropertyWatcher类的要点是KVO需要一个标准的回调方法,我不想替换UIImageView,以防它自己使用它.

的UIImageView + Loading.h

@interface UIImageView (ZSShowLoading)
@property (nonatomic)   BOOL    showLoadingSpinner;
@end
Run Code Online (Sandbox Code Playgroud)

的UIImageView + Loading.m

@implementation UIImageView (ZSShowLoading)

#define UIIMAGEVIEW_SPINNER_TAG 862353453
static char imageWatcherKey;
static char frameWatcherKey;

- (void)zsShowSpinner:(BOOL)show {
    if (show) {
        UIActivityIndicatorView *spinnerView = (UIActivityIndicatorView *)[self viewWithTag:UIIMAGEVIEW_SPINNER_TAG];
        if (!spinnerView) {
            spinnerView = [[[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge] autorelease];
            spinnerView.tag = UIIMAGEVIEW_SPINNER_TAG;
            [self addSubview:spinnerView];
            [spinnerView startAnimating];
        }

        [spinnerView setEvenCenter:self.boundsCenter];
    } else {
        [[self viewWithTag:UIIMAGEVIEW_SPINNER_TAG] removeFromSuperview];
    }
}

- …
Run Code Online (Sandbox Code Playgroud)

iphone cocoa-touch objective-c

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

过早优化的实用规则

似乎" 过早优化 " 这个短语是当时的热门话题.出于某种原因,特别是iphone程序员似乎认为避免过早优化是一个积极的目标,而不是简单地避免分心的自然结果.问题是,该术语开始越来越多地应用于完全不合适的案例.

例如,我看到越来越多的人说不要担心算法的复杂性,因为那是不成熟的优化(例如,帮助在两个属性(使用NSSortDescriptor?)中排序NSArray).坦率地说,我认为这只是懒惰,并且对纪律严明的计算机科学感到骇人听闻.

但是我想到,可能考虑到算法的复杂性和性能正在推动汇编循环展开的方式,以及其他现在认为不必要的优化技术.

你怎么看?我们现在处于决定O(n ^ n)和O(n!)复杂度算法无关的地步吗?那么O(n)vs O(n*n)呢?

您认为"过早优化"是什么?您有意或无意地避免使用哪些实用规则?

编辑

我知道我的描述有点笼统,但我对人们用来避免"预成熟优化"的具体,实用规则或最佳实践感兴趣,尤其是在iphone平台上.

回答这个问题需要您首先回答"什么是预成熟优化?"的问题.由于该定义明显变化很大,任何有意义的答案都要求作者定​​义该术语.这就是为什么我不认为这是一个CW问题.再说一次,如果人们不同意,我会改变它.

iphone algorithm design-patterns

25
推荐指数
4
解决办法
1431
查看次数

如何倾听UIButton状态的变化?

我正在扩展UIButton通用功能,以根据显示的标题更改某些外观属性.

为此,我需要检测并响应"state"属性的变化.这样,如果用户为不同的状态设置了不同的标题,我确保正确调整外观.我以为我需要使用某种KVO,如下所示:

[self addObserver:self 
       forKeyPath:@"state" 
          options:NSKeyValueObservingOptionNew 
          context:nil];
Run Code Online (Sandbox Code Playgroud)

但这似乎没有触发@"state"或@"currentTitle"的observeValueForKeyPath:...方法.我假设这是因为UIButton没有为这些属性实现KVO模式.

我不想只听点击.这些事件导致状态改变,但不是唯一的潜在原因.

有没有人知道如何倾听和回应UIButton的状态变化?

谢谢


UPDATE

因为我在过去几年中学到了一些东西,所以只是一个注释;).

我已经和一些知道的苹果人谈过了,而且KVO没有在国家财产上工作的原因是因为UIKit的NONE肯定是符合KVO的.在这里值得重复的思考 - 如果你试图听取UIKit框架类的任何属性,请注意它可能有效,但是没有得到官方支持,可能会在不同的iOS版本上中断.

iphone cocoa-touch objective-c key-value-observing uibutton

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

NSSet是否使用哈希来定义唯一性?

我一直在假设NSSet使用hash查找潜在的匹配,然后在每个上面调用isEqual来检查真正的冲突,但我意识到我找不到任何证据支持这一点.

我提出的原因是NSSet中存在"member:"方法.为什么成员的文档:尽量指定isEqual:用于在NSSet中没有别的时候找到你的对象?containsObject:只使用哈希或其他什么?

谁能证实这种行为?理想情况下,参考文档呢?

iphone cocoa-touch objective-c nsset

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

如何使用multipart/form-data编码发布数组?

在GET参数字符串或"x-www-form-urlencoded"POST请求中,可以通过用括号命名它们来指定参数数组(例如"name []").

是否有"正确"(或至少是广泛传播的约定)方式来指定具有"multipart/form-data"POST请求的参数数组?

以下是正确的吗?

Content-Type: multipart/form-data; boundary=--abc

--abc
Content-Disposition: form-data; name="name[]"

first index
--abc
Content-Disposition: form-data; name="name[]"

second index
Run Code Online (Sandbox Code Playgroud)

如果它因平台而异,我对Apache/PHP的约定很感兴趣.

php apache post http multipartform-data

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

如果禁用,Android获取位置或提示以启用位置服务

我发现这个答案的点点滴滴散落在其他帖子中,但我想在这里为其他人录制.

如何简单地请求用户的GPS和/或网络位置,如果他们没有启用该服务,则提示他们这样做?

gps android geolocation

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