小编eks*_*pto的帖子

检测耳机(非麦克风)是否已插入iOS设备

我需要根据是否插入耳机来改变我的音频.我知道kAudioSessionProperty_AudioInputAvailable,它会告诉我是否有麦克风,但我想测试任何耳机,而不仅仅是带有内置耳机的耳机在麦克风.这可能吗?

iphone ipad ios

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

在OSX中为给定进程禁用定时器合并

我有一个后台应用程序,需要每1.5秒向另一个进程发送一个keep-alive.在OSX 10.7和10.8中一切都运行顺畅,但在OSX 10.9下,许多保持活动通知都会丢失,有时会达到3次.通常情况下,前3或4分钟一切正常,然后问题就开始发生了.

经过进一步检查,似乎OSX Mavericks"定时器合并"功能将负责决定将请求的1.5秒延长到4.0秒.

有没有办法在NSThread中表明不合并?或者至少表明允许的最大合并变化?

请参阅以下代码以供参考:

+(void)keepAliveThread
{
    @autoreleasepool {
        void (^keepAlive)() = ^ (){
            // (snipped!) do something...
        };
        dispatch_queue_t mainQueue = dispatch_get_main_queue();
        while( [NSThread currentThread].isCancelled == NO )
        {
            @autoreleasepool {
                dispatch_async(mainQueue, keepAlive);
                [NSThread sleepForTimeInterval:1.5];
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

macos cocoa multithreading objective-c osx-mavericks

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

如何减少具有大量项目的 UICollectionView 上的内存使用量?

我正在尝试使用 UICollectionView 而不是 UITableView 来显示大量项目(> 15000),并且 UICollectionView 似乎为集合所需的整个 contentView 大小预先分配了一个像素缓冲区。根据项目大小,模拟器显示需要高达 6.75GB 的内存。

我希望集合视图基于其与 UITableView 非常相似的协议,不会分配任何像素缓冲区而仅依赖于单元格的支持/渲染。

我正在使用故事板文件来定义集合视图和单元格,它们都具有 Opaque = false。我看过很多关于 Stack Overflow 的文章,大部分都与内存泄漏有关,所以我对如何解决这个问题有点困惑。

出于好奇,这里是整个代码库(故事板除外):

MyCollectionViewCell.swift

import UIKit    
class MyCollectionViewCell: UICollectionViewCell {
    static let identifier = "myCellIdentifier"
}
Run Code Online (Sandbox Code Playgroud)

UIColor+Random.swift

import UIKit
extension UIColor {
    static func randomColor() -> UIColor {
        let red = CGFloat(drand48())
        let green = CGFloat(drand48())
        let blue = CGFloat(drand48())
        return UIColor(red: red, green: green, blue: blue, alpha: 1.0)
    }
}
Run Code Online (Sandbox Code Playgroud)

视图控制器.swift

import UIKit
class ViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout …
Run Code Online (Sandbox Code Playgroud)

ios uicollectionview swift

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