小编Kha*_*yen的帖子

斯威夫特是否支持反思?

斯威夫特是否支持反思?例如,有什么样valueForKeyPath:setValue:forKeyPath:对雨燕的对象?

实际上它甚至有一个动态类型系统,类似于obj.classObjective-C?

reflection ios swift

113
推荐指数
6
解决办法
3万
查看次数

冗余一致性错误消息Swift 2

我将我的项目更新为Swift 2,并收到了一堆redundant conformance of XXX to protocol YYY.当一个类符合时,这种情况经常(或总是)发生CustomStringConvertible.还有一些地方Equatable.

class GraphFeatureNumbersetRange: GraphFeature, CustomStringConvertible { // <--- get the error here
...
}
Run Code Online (Sandbox Code Playgroud)

我怀疑在实现时var description: String { get },或者协议所需的任何方法,我都不需要明确地遵守协议.我应该遵循fixit说明并删除所有这些吗?如果一个类实现了所有协议的方法,Swift现在会自动推断出一致性吗?

xcode swift

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

将observable转换为list

我正在使用RxJava.

我有一个Observable<T>.我如何将其转换为List<T>

似乎是一个简单的操作,但我无法在网上的任何地方找到它.

java reactive-programming rx-java

37
推荐指数
4
解决办法
3万
查看次数

在iPad模拟器中滑过并拆分视图

iOS 9为iPad引入了幻灯片和分割视图.如何在iPad模拟器上模拟这些功能?我试过在iPad Air 2模拟器上向右滑动.

multitasking ipad ios-simulator splitview

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

从Any转向协议

我有以下代码.如何解决最后一行中的错误?

protocol Animal {
    func walk()
}

struct Cat: Animal {
    func walk() {}

    init() { }
}

var obj: Any = Cat()
var cat = obj as Animal // ERROR: cannot downcast from Any to unrelated type Animal
Run Code Online (Sandbox Code Playgroud)

ios swift

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

Javascript嵌套函数性能

我有一些嵌套函数,如

var freak = function() {
    var die = function() { ... }
    die(this);
}
Run Code Online (Sandbox Code Playgroud)

据我所知,die每次freak调用时都会创建(分配)函数.

因此,如果freak被调用很多时间,这意味着将浪费大量内存(假设die没有使用来自freak上下文的任何内容;换句话说,即使它只被分配一次并在多次调用之间共享,它也能正常工作freak-这就是我浪费的意思).

我的理解是否正确?这是否意味着应该完全避免嵌套函数?

javascript garbage-collection memory-leaks memory-management

13
推荐指数
1
解决办法
2062
查看次数

我可以在内部选择器中使用图层列表吗?

我有以下drawables

<!-- button_shape.xml -->
<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="false">
        <shape android:shape="rectangle">
            <corners android:radius="3dp"/>
            <solid android:color="#006600" />
        </shape>
    </item>

    <item android:state_pressed="true">
        <shape android:shape="rectangle">
            <corners android:radius="3dp"/>
            <solid android:color="#003300" />
        </shape>
    </item>
</selector>
Run Code Online (Sandbox Code Playgroud)

<!-- button_shape_shadowed.xml -->
<?xml version="1.0" encoding="utf-8"?>

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <corners android:radius="5dp"/>
            <solid android:color="#D0D0D0"/>
        </shape>
    </item>
    <item>
        <inset
            android:drawable="@drawable/button_shape"
            android:insetBottom="5dp"
            android:insetLeft="5dp"
            android:insetRight="5dp"
            android:insetTop="5dp">
        </inset>
    </item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)

有没有办法将它们合并为一个?我的主要问题是我不能有selector内心inset.由于button_shape.xml没有在其他地方使用,我不想无缘无故地创建额外的文件.

android

10
推荐指数
1
解决办法
7226
查看次数

iOS 8移动版Safari中的UIWebView iOS 8 Action Extension崩溃

iOS 8动作扩展应用程序的视图具有UIWebView.当我在Safari中打开此操作扩展时,然后扩展应用程序显示移动Safari的URL的UIWebView.

但扩展应用程序有时会在加载网页或滚动浏览某些网页(例如nytimes.com)时崩溃.

我知道扩展应用程序的可用内存取决于移动Safari.

但我发现'Safari的真棒截图'并没有崩溃.(https://itunes.apple.com/us/app/awesome-screenshot-for-safari/id918780145)

我想知道如何防止动作扩展应用程序崩溃.

@interface ActionViewController ()

@property(strong,nonatomic) IBOutlet UIImageView *imageView;
@property (strong, nonatomic) IBOutlet UIWebView *webView;
@end

@implementation ActionViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    NSExtensionItem *item = self.extensionContext.inputItems.firstObject;
    NSItemProvider *itemProvider = item.attachments.firstObject;

    if ([itemProvider hasItemConformingToTypeIdentifier:(NSString *)kUTTypeURL]) {

        __weak typeof(self) weakSelf = self;
        [itemProvider loadItemForTypeIdentifier:(NSString *)kUTTypeURL options:nil completionHandler:^(id<NSSecureCoding> item, NSError *error) {
            if (error) {
                [weakSelf.extensionContext cancelRequestWithError:error];
                return;
            }

            if (![(NSObject *)item isKindOfClass:[NSURL class]]) {
                NSError *unexpectedError = [NSError errorWithDomain:NSItemProviderErrorDomain
                                                               code:NSItemProviderUnexpectedValueClassError
                                                           userInfo:nil];
                [weakSelf.extensionContext cancelRequestWithError:unexpectedError];
                return;
            } …
Run Code Online (Sandbox Code Playgroud)

objective-c uiwebview ios

9
推荐指数
1
解决办法
1459
查看次数

在Swift 3中将UnsafeMutableRawPointer转换为UnsafeMutablePointer <T>

我有这个代码

let grayData = UnsafeMutablePointer<UInt8>(other: malloc(width * height * sizeof(UInt8)))
Run Code Online (Sandbox Code Playgroud)

哪个不能在Swift 3中编译.如何修复此问题?

cocoa-touch swift3

9
推荐指数
2
解决办法
7759
查看次数

在Xcode 10中分发Enterprise时代码签名框架失败

嗨,大家好我正在尝试为Enterprise分发应用程序,并继续收到此错误(选择配置文件后):

在此输入图像描述

挖掘日志揭示了这一点:

2018-09-21 04:14:07 +0000 Running /usr/bin/codesign '-vvv' '--force' '--sign' '2D44419C65EF2B7301F0646133CC88C2C6A3E697' '--entitlements' '/var/folders/xj/stm8l48s1nq9320sfh3ytw140000gn/T/XcodeDistPipeline.IsE/entitlementsycy5yP' '--preserve-metadata=identifier,flags,runtime' '/var/folders/xj/stm8l48s1nq9320sfh3ytw140000gn/T/XcodeDistPipeline.IsE/Root/Payload/Fleet UAT.app/Frameworks/AppAuth.framework' 2018-09-21 04:14:07 +0000 /var/folders/xj/stm8l48s1nq9320sfh3ytw140000gn/T/XcodeDistPipeline.IsE/Root/Payload/Fleet UAT.app/Frameworks/AppAuth.framework: replacing existing signature 2018-09-21 04:14:07 +0000 /var/folders/xj/stm8l48s1nq9320sfh3ytw140000gn/T/XcodeDistPipeline.IsE/Root/Payload/Fleet UAT.app/Frameworks/AppAuth.framework: code object is not signed at all 2018-09-21 04:14:07 +0000 /usr/bin/codesign exited with 1

类似的问题发生在项目使用的所有框架上.使用Carthage添加了这些框架.

这在我升级到Xcode 10和Carthage 0.30.1之后开始发生(之前我使用的是0.16.x).

xcode ios

9
推荐指数
1
解决办法
6475
查看次数