我试图在SQL中以不同的方向排序多个列.column1将按降序排序,并按column2升序排序.
我怎样才能做到这一点?
我有一个大的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) 我们有一个非常接近发布的游戏,但我们有一个非常烦人的问题.在我们的Beta测试者手机上,他听不到任何游戏音效.但是,他可以听到背景音乐和标题屏幕音乐.
背景和标题音乐都是通过AVAudioPlayer播放的(它们更长,我们需要循环和音量控制等).使用AudioServicesPlaySystemSound简单地播放声音效果(它们非常短,我们不需要精确控制或知道它们何时结束等).这适用于大多数iPhone,但不适用于此.所有这些都是通过AVAudioSessionCategorySoloAmbient的音频会话进行的.
所以我有两个问题: - 首先,这是可接受的实施吗?即是否有一些我错过的东西说你不能混合这两个框架,或者为什么混合它们的坏主意呢? - 第二,有没有人见过这样的事情?如果是这样,你找到了办法吗?
附加背景说明:我可以非常确切地说,在他的手机上,这是两个框架的混合.他能够听到声音,直到我们添加标题屏幕音乐的大致相同的构建.此外,如果我通过AVAudioPlayer更改其中一个声音,他就能听到它.不幸的是,我不能简单地将声音移动到AVAudioPlayers中,因为它根本不能很好地运行,我需要更好的同步.
地址簿API中是否有一种方法可以以编程方式访问当前用户的记录?换句话说,如果这个iPhone属于约翰史密斯,要获得约翰史密斯的联系人记录(无论哪个记录在联系人中标记为我)?
显然,您可以弹出选择器并让用户从他们的联系人中选择自己,但这似乎是用户不必要的操作.
使用案例:我的应用程序中有一个表单,我想根据用户已输入的联系信息为用户预先填写表单.为他们展示这一点比让他们浏览所有联系人并选择他们自己更好.
我有一个在模拟器中运行良好的iPhone应用程序.通过摆脱一切并非绝对必要的东西,它可以很好地响应记忆警告.当我在设备上运行它时,它运行良好.但是在经过一定程度的使用后,它崩溃了,错误代码为101 - 据我所知,操作系统会因内存使用情况而将其查杀.我可以看到内存警告(我正在记录它),我的应用程序响应它,但此后不久就死了.
如果我查看仪器中的应用程序(在设备上或在SIM卡中),它没有发现任何泄漏.此外,净内存使用量在600-700k字节的范围内.从我的应用程序的不同视图转换会增加内存使用量(正如预期的那样),但是当视图和控制器被释放并释放时,内存使用量从未像现在这样低.但是,添加通常只有1000-2000字节的范围内.因此,虽然泄漏显示我没有泄漏,但我怀疑某处存在问题.我还查看了我正在分配的所有对象,所有这些对象似乎都按预期进行了回收.我看到的唯一不断增加的对象是GeneralBlock-N(其中N是一些数字)
我不应该关注仪器净使用量数字吗?尝试诊断问题的后续步骤是什么?
ADDED:我没有调用malloc()或任何会返回我负责的缓冲区的CoreFoundation库.我正在进行的唯一非Obj-C调用是将语句记录到NSLog.