小编bar*_*dog的帖子

从Chrome扩展弹出窗口获取价值

我想知道,如果我点击图标时有一个弹出窗口的chrome扩展,并且弹出窗口有一个文本框来输入数据,那么javascript会在文本框中获取文本的样子是什么?

更新:我知道如何从文本框中获取值,但我的问题是,如何专门访问popup.html文件的元素?我尝试访问document.getElementById等,但它获取实际页面内容中的元素,而不是我的自定义弹出窗口.

html javascript google-chrome

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

高效的 Javascript 数组查找

如果我有一个字符串白名单,我想检查用户输入到我的 javascript 程序中的所有内容,那么最有效的方法是什么?我可以只拥有一个数组并循环遍历它,直到找到匹配项,但这是 O(N)。有没有一种更好的方法,并且不涉及任何类型的键值查找,只需检查该值是否存在?

编辑:我想我正在寻找的相当于 C++ 中的集合,我可以在其中检查给定的值是否已存在于集合中。

javascript performance

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

RXJS如果具有可观察的条件

Rx.Observable.if如果条件observable解析为true或false,我想用它来运行两个observable中的一个.

我想要实现的将是这样的:

Rx.Observable.if(conditionalObservable.map(x => x.length > 0), firstObservable, secondObservable).subscribe()
Run Code Online (Sandbox Code Playgroud)

如果conditionalObservable发送一个next然后以true值完成,则firstObservable应该运行,否则,secondObservable应该运行.

现在显然这不起作用,因为Rx.Observable.if期望一个函数有条件,而不是一个可观察的.如何在RXJS中实现完全相同的功能?

注意:这个问题几乎相同,但我认为它不够简洁,因为1)你必须有两个pausable语句和2)除非你附加一个take(1)条件的observables,你不能保证条件不会发出更多下一个活动.IMO这是一种解决方法,更容易出现人为错误.

javascript rxjs

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

ReactiveCocoa 中的暂停信号

我想要ReactiveCocoa 中的pauseorpauseUntil信号,其行为类似于skipUntilexcept 而不是只是跳过发送的值self直到skipUntil收到触发信号,我想要pause/pauseUntil有条件地等待并收集值,当触发信号触发时,转发所有已收集的值。

pauseUntil函数将接受触发信号 ( Signal<(), NoError>),一旦触发,self就会像正常一样运行。

pause另一方面,该函数将充当切换开关,采用 的参数Signal<Bool, NoError>,有效地暂停和取消暂停相关信号。

ios reactive-cocoa swift

5
推荐指数
0
解决办法
153
查看次数

Swift 协议和类的弱引用

如果我有一个协议:

protocol SomeProtocol {
    func doSomething()
}
Run Code Online (Sandbox Code Playgroud)

在辅助类中,我引用了协议变量:

class someClass {
    var delegate: SomeProtocol? 
}
Run Code Online (Sandbox Code Playgroud)

因为SomeProtocol没有标记为: class,所以假设可以delegate是任何东西,并且在值类型(结构和枚举)的情况下不需要,weak var因为值类型无法创建强引用。weak var事实上,编译器除了类类型之外不允许任何类型。

但是,没有什么可以阻止您将类设置为委托,并且如果协议未标记为: class(因为SomeProtocol is),无法使用弱 var` 并且会创建保留周期。

class MyClass: NSObject, SomeProtocol {
    func doSomething() { }
}

struct MyStruct: SomeProtocol {
    func doSomething() { }
}

let someClass = SomeClass()
let myStruct = MyStruct()
someClass.delegate = myStruct 
// After myStruct gets assigned to the delegate, do the delegate and …
Run Code Online (Sandbox Code Playgroud)

ios swift

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

神秘的TwitterKit崩溃

TwitterKit通过Fabric 使用时,我看到了一个相当神秘的崩溃.

我的应用程序崩溃在这一行:

Fabric.with([Crashlytics.self, Twitter.self])
Run Code Online (Sandbox Code Playgroud)

他说:

[Fabric] Please upgrade to the latest version of "Twitter"
[Crashlytics] Version 3.8.4 (121)
Calling Twitter.start is not supported.
Run Code Online (Sandbox Code Playgroud)

我整合TwitterKit就像文档指示的那样,将密钥和网址方案添加到我的Info.plist中,但我无法弄清楚为什么Twitter会突然崩溃.

twitter ios twitter-fabric

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

Apple App上传图标验证错误

我正在将一个免费的应用程序上传到Mac App Store,并且在验证过程中我一直收到此错误,

应用程序包不包含ICNS格式的图标,包含a 512x512512x512@2x图像.有关进一步的帮助,请参阅Apple人机界面指南.

唯一的一点是,有文件名为icon_512x512.pngicon_512x512@2x.png,以及所有其他必要的决议文件.

由于Apple绝对没有帮助,我希望有人知道如何解决这个问题,或者至少要创建一个符合规格的图标.

xcode objective-c

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

自定义MKOverlay,半径为米

我通过创建一个符合MKOverlay协议和MKOverlayPathRenderer子类的NSObject子类来进行自定义覆盖.我的目标是在MKMapView上制作一个固定在用户位置的圆形叠加层,我的工作正常.每当我的叠加层上的坐标被设置时,我的渲染器,使用键值观察,使其绘制的路径无效,然后重绘.

我遇到的问题是我希望圆的半径以米为单位,但我不认为我正在做正确的数学运算或者有一些我不知道的东西.我在下面发布了覆盖对象和渲染器的源代码(渲染器的界面中没有任何内容).举个例子,我将半​​径设置为200米,但在地图视图中,它只显示为大约10米.有谁知道如何解决这个问题?

//Custom Overlay Object Interface
@import Foundation;
@import MapKit;
@interface CustomRadiusOverlay : NSObject <MKOverlay>

+ (id)overlayWithCoordinate:(CLLocationCoordinate2D)coordinate radius:(CLLocationDistance)radius;

@property (nonatomic) CLLocationCoordinate2D coordinate;
@property (nonatomic) MKMapRect boundingMapRect;
@property (nonatomic) CLLocationDistance radius;

@end

//Custom overlay
#import "CustomRadiusOverlay.h"

@implementation LFTRadiusOverlay

+ (id)overlayWithCoordinate:(CLLocationCoordinate2D)coordinate radius:(CLLocationDistance)radius{
CustomRadiusOverlay* overlay = [LFTRadiusOverlay new];
    overlay.coordinate = coordinate;
    overlay.radius = radius;
    return overlay;
}

- (MKMapRect)boundingMapRect{
    MKMapPoint upperLeft = MKMapPointForCoordinate(self.coordinate);
    MKMapRect bounds = MKMapRectMake(upperLeft.x, upperLeft.y, self.radius*2, self.radius*2);
    return bounds;
}

- (void)setCoordinate:(CLLocationCoordinate2D)coordinate{
    _coordinate = coordinate;
    self.boundingMapRect = self.boundingMapRect;
}

@end …
Run Code Online (Sandbox Code Playgroud)

mkmapview ios mkoverlay mkoverlaypathrenderer

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

将类变量声明为符合 Swift 协议

在 Swift 中,我如何声明一个明确声明它符合某些协议的变量?根据@property id<NSObject> 我的理解,objective-c 的等效项是:

var a: NSObject

声明一个 NSObject 协议类型的变量,但我不这样做,我想声明一个AnyObject符合类型的变量。我也有兴趣找出如何声明一个对象数组,其中每个对象都符合该协议。

protocols swift

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

将私有软件包安装到@types-TypeScript和NPM

我有一个回购协议,该回购协议仅涉及index.d.ts我要在多个存储库中共享的文件(TypeScript定义文件)。类型定义文件中的唯一声明是如下所示的接口:

interface MyInterface {
    thisSuperCoolFunction(): void;
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,定义库和我正在使用的所有其他库都是私有的。是否可以向其提交私有的npm类型项目,@types以便安装它既可以工作,又不会向其他任何人公开?

注意:仅在npm上没有键入回购@types

npm typescript

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