小编adi*_*dib的帖子

jQuery获取元素相对于窗口的位置

给定HTML DOM ID,如何在JavaScript/JQuery中获取元素相对于窗口的位置?这与相对于文档和偏移父项不同,因为该元素可能位于iframe或其他元素内.我需要获取元素矩形的屏幕位置(如位置和尺寸),因为它当前正在显示.如果元素当前处于屏幕外(已滚动关闭),则可以接受负值.

这适用于iPad(WebKit/WebView)应用程序.每当用户点击一个特殊链接时UIWebView,我应该打开一个弹出视图,显示有关该链接的更多信息.弹出视图需要显示一个箭头,该箭头指向调用它的屏幕部分.

javascript jquery webkit webview ipad

167
推荐指数
4
解决办法
32万
查看次数

检查Objective-C块类型?

这主要是好奇心,我不确定这是什么实际用途,但这里有.

由于块也是Objective-C对象,是否可以检查它们的类型?也就是说,它是否响应isKindOfClass:消息以及如何对块使用该消息?

我的天真认为它可能是这样的:

-(void) aMethod {
    typedef int (^BlockA)(int x, int y);
    id blockVar = ...; // get a block from somewhere
    if([blockVar isKindOfClass:BlockA]) {
        BlockA blockVarA = blockVar;
        int result = blockVarA(1,2);
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码可能不起作用.但是,如果它可以检查块的类型,什么是做了正确的方法是什么?

oop closures introspection objective-c objective-c-blocks

27
推荐指数
3
解决办法
7879
查看次数

登录Safari JavaScript控制台

使用内置的JavaScript调试器运行时,有没有办法登录Safari的JavaScript控制台?我已经阅读了Firefox JavaScript日志记录问题,并希望在WebKit/Safari中有一种简单("原生")方式.

谢谢

javascript debugging safari console webkit

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

为什么使用开发或企业证书签署的iOS应用程序启动较慢

我不禁注意到我的iPhone 5上使用我的开发证书和我公司的企业分发证书签名的应用程序需要大约4秒才能启动或激活.这是点击应用程序图标和查看启动图像之间所花费的时间 - 显然不包括应用程序的初始化代码.

这是一个尴尬的4秒,其中应用程序的图标在点击后仍然变暗,主屏幕冻结(甚至无法向右/向左滚动).

奇怪的是,从后台重新激活应用程序需要大约相同的时间(即启动应用程序,等待它运行,按主页按钮,然后立即再次点击应用程序的图标).

问题是:

  • 是什么造成的?
    • 我的直觉归咎于Springboard尝试在每次点击应用程序图标时验证签名证书.但是我无法证明这一点.
  • 如何减少启动冻结时间?(如果可能的话?)

我在iPhone 5上使用iOS 8.3进行了测试

optimization code-signing ios springboard ios8

19
推荐指数
2
解决办法
2847
查看次数

Xcode bot测试会话退出但未完成

我已经得到半随机的......

Test operation failure: Test session exited(-1) without completing.
_finishWithError:Error Domain=IDEUnitTestsOperationsObserverErrorDomain Code=3 "Test session exited(-1) without completing." UserInfo=0x7fcd0a83c2c0 {NSLocalizedDescription=Test session exited(-1) without completing.} didCancel: 1
Finished syncing device diagnostic logs after 0.0s.
Run Code Online (Sandbox Code Playgroud)

我的Xcode CI机器人上的错误.我还没有弄清楚如何解决这个问题.这些尝试没有任何积极的结果

  • 清理DerivedDataXcode构建服务器的文件夹 - DerivedData在其中命名的所有文件夹/Library/Developer/XcodeServer
  • 重新启动服务器计算机

任何想法如何解决这一问题?

一些环境:

  • Xcode 6.3.2
  • iOS SDK 8.3
  • OS X 10.10.3
  • Server 4.0.3

xcode unit-testing ios xcode-bots

12
推荐指数
0
解决办法
507
查看次数

链接到libcrypto for Leopard?

我使用的是Mac OS X 10.6 SDK,我的部署目标设置为Mac OS 10.5.我正在链接到libcrypto(AquaticPrime需要这个)并发现我的应用程序没有在Leopard上启动.错误是

dyld: Library not loaded: /usr/lib/libcrypto.0.9.8.dylib

我尝试了以下变通方法,但它们都不起作用:

  • 直接链接libcrypto.0.9.7.dylib(10.6 SDK拒绝直接链接libcrypto.0.9.7.dylib.
  • 将10.5 SDK的版本复制libcrypto.0.9.7.dylib到10.6 lib目录并尝试与其链接(这次链接过程成功但在Leopard中,应用程序仍尝试查找不存在的libcrypto.0.9.8.dylib文件,因此不会启动).
  • libcrypto.0.9.7.dylib从Mac OS X 10.5.8安装进行复制并与之链接(链接成功但应用程序仍在查找libcrypto.0.9.8.dylib).

有没有办法链接到这个库,仍然使用10.6 SDK?

谢谢.

macos cocoa openssl aquaticprime

11
推荐指数
2
解决办法
8296
查看次数

Pragma明确启用ARC?

是否有#pragma(或其他一些构造)在Objective-C(或Objective-C++)源文件中显式启用自动引用计数(ARC)?如果未启用ARC,源文件可能导致编译失败,那就更好了.

我开始拥有一些可以与其他项目共享的仅ARC的源文件.其中大多数都包含扩展内置类的类别方法.我只是不想意外地将这些包含在非ARC项目中并开始泄漏内存.

提前致谢!

objective-c automatic-ref-counting

11
推荐指数
1
解决办法
1953
查看次数

核心数据获取属性$ FETCHED_SOURCE解析为对象ID

在Core Data fetched属性表达式中,显然$FETCH_SOURCE解析为对象ID而不是对象本身.这引起了一个例外"类不是键值编码......".这是真的,因为它是响应该键的对象.

我想使用源对象的属性值作为fetched属性的谓词的一部分.

知道如何解决这个问题吗?

*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<_NSObjectID_48_0 0x10101b200> valueForUndefinedKey:]: this class is not key value coding-compliant for the key messageType.'
*** First throw call stack:
(
    0   CoreFoundation                      0x00007fff92ba00c6 __exceptionPreprocess + 198
    1   libobjc.A.dylib                     0x00007fff8f85e3f0 objc_exception_throw + 43
    2   CoreFoundation                      0x00007fff92c34249 -[NSException raise] + 9
    3   Foundation                          0x00007fff9518b08c -[NSObject(NSKeyValueCoding) valueForUndefinedKey:] + 238
    4   Foundation                          0x00007fff950d2df9 -[NSObject(NSKeyValueCoding) valueForKey:] + 400
    5   Foundation                          0x00007fff950f36a8 -[NSObject(NSKeyValueCoding) valueForKeyPath:] + 341
    6   Foundation …
Run Code Online (Sandbox Code Playgroud)

macos core-data objective-c

11
推荐指数
1
解决办法
881
查看次数

什么是在`id`上设置属性的快速等价物?

我想知道Swift在调用方法时id是什么,在方法中可以在运行时确定方法的可用性.具体来说,我想在Swift中做这个模式:

-(IBAction) handleEvent:(id) sender {
    BOOL didDisable = NO;
    if([sender respondsToSelector:@selector(setEnabled:)]) {
        [sender setEnabled:NO];
        didDisable = YES;
    }
    [self doSomethingAsyncWithCompletionHandler:^{
        if(didDisable) {
            [sender setEnabled:YES];
        }
    }];
}
Run Code Online (Sandbox Code Playgroud)

最大的问题是 setEnabled:在Swift中作为属性导入(例如UIBarItem)并且以下构造都没有编译

func handleEvent(sender: AnyObject) {
    // Error: AnyObject does not have a member named "enabled"
    sender.enabled? = false

    // Error: (BooleanLiteralCompatible) -> _ is not identical to Bool
    sender.setEnabled?(false)
}
Run Code Online (Sandbox Code Playgroud)

objective-c swift

11
推荐指数
2
解决办法
2023
查看次数

正确调整基于视图的NSTableView上的行的大小

NSTableView更改表视图大小时,基于视图的具有动态高度的行不会调整其行的大小.当行高从表视图的宽度派生时,这是一个问题(想想填充列并包装因此扩展行大小的文本块).

NSTableView每当它改变大小但我没有成功时,我一直试图调整行的大小:

  • 如果我通过查询仅调整可见行的大小enumerateAvailableRowViewsUsingBlock:,则一些不可见的行不会调整大小,因此当用户滚动并显示这些行时,会显示旧的高度.
  • 如果我调整所有行的大小,当有很多行时会变得非常慢(在我的1.8Ghz i7 MacBook Air中每个窗口调整1000行后大约1秒延迟).

有人可以帮忙吗?

这是我检测表视图大小更改的位置 - 在表视图的委托中:

- (void)tableViewColumnDidResize:(NSNotification *)aNotification
{
    NSTableView* aTableView = aNotification.object;
    if (aTableView == self.messagesView) {
        // coalesce all column resize notifications into one -- calls messagesViewDidResize: below

        NSNotification* repostNotification = [NSNotification notificationWithName:BSMessageViewDidResizeNotification object:self];
        [[NSNotificationQueue defaultQueue] enqueueNotification:repostNotification postingStyle:NSPostWhenIdle];
    }
}
Run Code Online (Sandbox Code Playgroud)

以下是上面发布的通知的处理程序,其中可见行的大小调整:

-(void)messagesViewDidResize:(NSNotification *)notification
{
    NSTableView* messagesView = self.messagesView;

    NSMutableIndexSet* visibleIndexes = [NSMutableIndexSet new];
    [messagesView enumerateAvailableRowViewsUsingBlock:^(NSTableRowView *rowView, NSInteger row) {
        if (row >= 0) {
            [visibleIndexes addIndex:row];
        } …
Run Code Online (Sandbox Code Playgroud)

macos cocoa objective-c nstableview appkit

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