小编Bde*_*eez的帖子

SQL多列排序

我试图在SQL中以不同的方向排序多个列.column1将按降序排序,并按column2升序排序.

我怎样才能做到这一点?

sql sql-order-by

590
推荐指数
8
解决办法
80万
查看次数

问题是在UIScrollView中使用相当大的图像来释放UIImageViews所使用的内存

我有一个大的UIScrollView,我正在放置3-4个相当大(320x1500像素左右)的UIImageView图像拼贴.我将这些UIImageViews添加到我的NIB文件内的滚动视图中.我的控制器上有一个插座,那就是UIScrollView.我正在使用一个属性(非原子,保留),并将其合并.

我的问题是:当我在Memory Monitor中观察到这一点时,我可以看到,当加载了所有这些图像的视图时(正如预期的那样),所使用的内存会相当大.但是当我离开视图时,它和它的控制器都是dealloc'd,但似乎并没有放弃它们占用的内存附近的任何地方.当我将其中一个视图(我的应用程序中有几个)切割成只有1-3个320x460的图像并将其他所有内容保持相同时,它会重新捕获内存.

使用这么大的图像有什么问题吗?我在这段代码中做错了什么(粘贴在下面)?

这是viewController的一个导致问题的片段.

- (CGFloat)findHeight 
{
    UIImageView *imageView = nil;
    NSArray *subviews = [self.scrollView subviews];

    CGFloat maxYLoc = 0;
    for (imageView in subviews)
    {
            if ([imageView isKindOfClass:[UIImageView class]])
            {
                    CGRect frame = imageView.frame;

                    if ((frame.origin.y + frame.size.height) > maxYLoc) {
                            maxYLoc  = frame.origin.y;
                            maxYLoc += frame.size.height;
                    }
            }
    }
    return maxYLoc;
}

- (void)viewDidLoad {
    [super viewDidLoad];
    [self.scrollView setContentSize:CGSizeMake(320, [self findHeight])];

    [self.scrollView setCanCancelContentTouches:NO];
    self.scrollView.indicatorStyle = UIScrollViewIndicatorStyleWhite;
    self.scrollView.clipsToBounds = YES;                
    self.scrollView.scrollEnabled = YES;

    self.scrollView.pagingEnabled = NO;
}

- (void)dealloc …
Run Code Online (Sandbox Code Playgroud)

iphone cocoa-touch memory-management objective-c

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

混合AudioServicesPlaySystemSound和AVAudioPlayer可以吗?

我们有一个非常接近发布的游戏,但我们有一个非常烦人的问题.在我们的Beta测试者手机上,他听不到任何游戏音效.但是,他可以听到背景音乐和标题屏幕音乐.

背景和标题音乐都是通过AVAudioPlayer播放的(它们更长,我们需要循环和音量控制等).使用AudioServicesPlaySystemSound简单地播放声音效果(它们非常短,我们不需要精确控制或知道它们何时结束等).这适用于大多数iPhone,但不适用于此.所有这些都是通过AVAudioSessionCategorySoloAmbient的音频会话进行的.

所以我有两个问题: - 首先,这是可接受的实施吗?即是否有一些我错过的东西说你不能混合这两个框架,或者为什么混合它们的坏主意呢? - 第二,有没有人见过这样的事情?如果是这样,你找到了办法吗?

附加背景说明:我可以非常确切地说,在他的手机上,这是两个框架的混合.他能够听到声音,直到我们添加标题屏幕音乐的大致相同的构建.此外,如果我通过AVAudioPlayer更改其中一个声音,他就能听到它.不幸的是,我不能简单地将声音移动到AVAudioPlayers中,因为它根本不能很好地运行,我需要更好的同步.

iphone audio objective-c avaudioplayer

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

如何在地址簿中访问当前用户的记录?

地址簿API中是否有一种方法可以以编程方式访问当前用户的记录?换句话说,如果这个iPhone属于约翰史密斯,要获得约翰史密斯的联系人记录(无论哪个记录在联系人中标记为我)?

显然,您可以弹出选择器并让用户从他们的联系人中选择自己,但这似乎是用户不必要的操作.

使用案例:我的应用程序中有一个表单,我想根据用户已输入的联系信息为用户预先填写表单.为他们展示这一点比让他们浏览所有联系人并选择他们自己更好.

iphone cocoa-touch abaddressbook

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

在CocoaTouch(iPhone OS)中,如何找到/消除Instruments Leak工具找不到的泄漏?

我有一个在模拟器中运行良好的iPhone应用程序.通过摆脱一切并非绝对必要的东西,它可以很好地响应记忆警告.当我在设备上运行它时,它运行良好.但是在经过一定程度的使用后,它崩溃了,错误代码为101 - 据我所知,操作系统会因内存使用情况而将其查杀.我可以看到内存警告(我正在记录它),我的应用程序响应它,但此后不久就死了.

如果我查看仪器中的应用程序(在设备上或在SIM卡中),它没有发现任何泄漏.此外,净内存使用量在600-700k字节的范围内.从我的应用程序的不同视图转换会增加内存使用量(正如预期的那样),但是当视图和控制器被释放并释放时,内存使用量从未像现在这样低.但是,添加通常只有1000-2000字节的范围内.因此,虽然泄漏显示我没有泄漏,但我怀疑某处存在问题.我还查看了我正在分配的所有对象,所有这些对象似乎都按预期进行了回收.我看到的唯一不断增加的对象是GeneralBlock-N(其中N是一些数字)

我不应该关注仪器净使用量数字吗?尝试诊断问题的后续步骤是什么?

ADDED:我没有调用malloc()或任何会返回我负责的缓冲区的CoreFoundation库.我正在进行的唯一非Obj-C调用是将语句记录到NSLog.

iphone cocoa-touch memory-management

4
推荐指数
1
解决办法
2695
查看次数