小编Den*_*lov的帖子

IntelliJ IDEA中`scala-2.11`文件夹的用途是什么?

最近更新IDEA和Scala插件后出现了scala-2.11文件夹.
它应该用于什么?

scala intellij-idea

43
推荐指数
1
解决办法
4214
查看次数

AVURLAsset loadValuesAsynchronouslyForKeys:completionHandler:从不在设备上触发

我正在使用下一个代码片段同步loadValues,所以loading = NO永远不会触发.我对AVAssetExportSession exportAsynchronously有同样的问题. 这一切都不适用于设备.

NSDictionary *options = [NSDictionary dictionaryWithObject:[NSNumber numberWithBool:YES] forKey:AVURLAssetPreferPreciseDurationAndTimingKey];
AVURLAsset *asset = [AVURLAsset URLAssetWithURL:URL options:options];

NSArray *keys = [NSArray arrayWithObjects:@"duration", @"tracks", nil];

__block bool loading = YES;

[asset loadValuesAsynchronouslyForKeys:keys completionHandler:^(void) {
            loading = NO;
}];

while (loading)[[NSRunLoop currentRunLoop] runUntilDate:[[NSDate date] dateByAddingTimeInterval:0.5]];
Run Code Online (Sandbox Code Playgroud)

请帮忙!我的大脑在融化.

objective-c avfoundation avurlasset avassetexportsession

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

我的混合打破了KVO

我正在尝试实现isa调配,因为我需要在某些对象的dealloc方法中执行某些操作.我压倒一切 - (班级)班级; 返回原始类的方法(如KVO所做).一切正常,直到我尝试将观察者添加到混合对象.它只是崩溃了.

  1. 0x00000000(0x00000000)()
  2. _NSKeyValueRetainedObservationInfoForObject()中的0x0091d22a
  3. 0x0092ec88 in - [NSObject(NSKeyValueObserverRegistration)_addObserver:forProperty:options:context:]()
  4. 0x0092d6fd in - [NSObject(NSKeyValueObserverRegistration)addObserver:forKeyPath:options:context:]()

这是实施调酒

- (void)swizzleClass
{
    NSString *proxyClassName = [NSString stringWithFormat:@"MDSwizzled_%@", NSStringFromClass(self->isa)];
    Class proxyClass = NSClassFromString(proxyClassName);

    if (!proxyClass)
        proxyClass = [self createProxyClassWithName:proxyClassName];

    object_setClass(self, proxyClass);
}

- (Class)createProxyClassWithName:(NSString *)proxyClassName
{
    const char *c_proxyClassName = [proxyClassName cStringUsingEncoding:NSUTF8StringEncoding];
    Class proxyClass = objc_allocateClassPair(self->isa, c_proxyClassName, 0);

    Class dummyClass = [MDDummy class];
    class_addMethodFromClass(proxyClass, dummyClass, @selector(dealloc));
    class_addMethodFromClass(proxyClass, dummyClass, @selector(class));

    objc_registerClassPair(proxyClass);
    return proxyClass;
}
Run Code Online (Sandbox Code Playgroud)

MDDummy它只是一种令人信服的类保持方法(这与添加原始函数没有区别).

@implementation MDDummy
- (void)dealloc
{

    //Special thinngs

    [super dealloc];
}

- …
Run Code Online (Sandbox Code Playgroud)

objective-c objective-c-runtime key-value-observing swizzling isa-swizzling

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