小编zor*_*o2b的帖子

通过NSTimer UserInfo传递数据

我正在尝试通过userInfo传递数据以进行NSTimer调用.做这个的最好方式是什么?我正在尝试使用NSDictionary,当我有Objective-C对象时,这很简单,但其他数据呢?我想做这样的事情,它不能正常工作:

- (void)play:(SystemSoundID)sound target:(id)target callbackSelector:(SEL)selector
{
    NSLog(@"pause ipod");
    [iPodController pause];
    theSound = sound;

    NSMutableDictionary *cb = [[NSMutableDictionary alloc] init];
    [cb setObject:(id)&sound forKey:@"sound"];
    [cb setObject:target forKey:@"target"];
    [cb setObject:(id)&selector forKey:@"selector"];

    [NSTimer scheduledTimerWithTimeInterval:0
                                     target:self
                                   selector:@selector(notifyPause1:)
                                   userInfo:(id)cb
                                    repeats:NO];
}
Run Code Online (Sandbox Code Playgroud)

iphone objective-c nstimer

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

如何检测UIWebView中的重定向

我在我的应用程序中使用UIWebView作为嵌入式浏览器.我遇到的问题是跟踪应在URL栏中显示的URL.

在进行Google搜索时,结果页面通常会生成以下链接:

http://www.google.com/url?sa=t&source=web&cd=1&ved=0CC4QFjAA&url=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FDog&rct=j&q=dogs&ei=27XeTc6RFIWEvAO858DHBQ&usg=AFQjCNGkEDcWzea4pSlurHhcuQfqFcp_pw

当用户单击此链接时,UIWebView首先报告此链接,然后报告重定向的链接shouldStartLoadWithRequest:navigationType:.

我如何判断这是一个重定向,而不是为页面上的图像或其他元素加载一些补充网站?目前我的网址栏显示的是上述示例中Google的长链接,而不是更新到维基百科网址.

url cocoa-touch uiwebview ios

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

如何在节点更新后修复损坏的npm

我用自制软件将节点更新到7.9.0.现在每当我用npm做任何事情时,我都会收到以下错误:

$ node -v
v7.9.0
$ npm -v
module.js:472
    throw err;
    ^

Error: Cannot find module '../lib/utils/unsupported.js'
    at Function.Module._resolveFilename (module.js:470:15)
    at Function.Module._load (module.js:418:25)
    at Module.require (module.js:498:17)
    at require (internal/module.js:20:19)
    at /usr/local/lib/node_modules/npm/bin/npm-cli.js:19:21
    at Object.<anonymous> (/usr/local/lib/node_modules/npm/bin/npm-cli.js:79:3)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
Run Code Online (Sandbox Code Playgroud)

我尝试卸载并重新安装节点,没有任何更改.我可以尝试从中恢复什么?

node.js npm

12
推荐指数
1
解决办法
8457
查看次数

如何使UILabel调整大小以适应文本

我有一个UILabel,我已经在一个以视图为中心的故事板中.它有一些初始文本"点击登录".

我在登录后将标签的值更改为用户名.一旦我这样做,标签就不再居中,因为UILabel没有改变大小.

如何在界面构建器中使用autolayout执行此操作?

xcode interface-builder ios uistoryboard

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

如何检测iPhone上是否禁用了Safari

如何检测Safari是否已被iPhone上的家长控制禁用?我知道这是可能的,因为在禁用Safari之前,App X3Watch拒绝工作.据我所知,父母控制没有api,那么可以使用什么技术呢?

iphone safari objective-c

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

DOMException 105仅在UI测试期间

我间歇性地得到一个未处理的DOMException 105.它只在运行我的UI测试时发生.

如果我注释掉使用loadHTMLString:baseURLcall UIWebView,那么异常就不再发生了.

这使我的测试非常不可靠.关于如何解决这个问题的任何建议?

堆栈跟踪:

2017-01-05 16:57:01.431 Allhomes[64245:4871703] *** Terminating app due to uncaught exception 'DOMException', reason: '*** DOMException 105'
*** First throw call stack:
(

0   CoreFoundation                      0x0000000110e4dd4b __exceptionPreprocess + 171
1   libobjc.A.dylib                     0x00000001104b721e objc_exception_throw + 48
2   CoreFoundation                      0x0000000110e4dc99 -[NSException raise] + 9
3   WebCore                             0x000000011785a542 _ZN7WebCore17raiseDOMExceptionEi + 370
4   WebCore                             0x000000011785a55e _ZN7WebCore23raiseTypeErrorExceptionEv + 14
5   WebCore                             0x00000001177e311e -[DOMRange setStart:offset:] + 158
6   UIKit                               0x000000010d92edab -[UIWebDocumentView text] + 292
7   UIKit                               0x000000010d6afcde _UIViewDescriptionAppendTextIfApplicable + …
Run Code Online (Sandbox Code Playgroud)

objective-c uiwebview ios xcode-ui-testing

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

如何追踪IE8安全警告的来源?

在IE8下运行我的GWT Web应用程序时,我收到了可怕的安全警告:"此网页包含无法使用安全HTTPS传送的内容"

它当然适用于Firefox和Chrome.

我用firebug查看了请求,但没有看到HTTP请求.

我还使用了Fiddler和HttpWatch与IE,我仍然看不到HTTP请求.

任何人都可以提供一些线索,告诉我还有什么可能触发这个警告吗?

security https internet-explorer

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

XCTest - 如何在导航栏标题中查询子字符串

我希望能够验证UI测试中导航栏中是否出现子字符串.

例如,如果导航栏标题是"Rent Properties",那么我可以这样匹配:

XCTAssert(XCUIApplication().staticTexts["Rent Properties"].exists)
Run Code Online (Sandbox Code Playgroud)

但是,这有两个问题:

  • 如果文本不在导航栏中,它仍将匹配
  • 它完全匹配,而我希望能够匹配一个子字符串,如"租"

如何才能做到这一点?

xcode ios swift xcode-ui-testing

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

如何在 Swift 中执行视图控制器回调

我正在尝试从子视图控制器回调到其父视图。传回的值已成功打印,但随后我得到了一个EXC_BAD_INSTRUCTION.

在父视图控制器中,我像这样构造子控制器:

let storyboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
if let vc = storyboard.instantiateViewControllerWithIdentifier("dataEntryView") as? DataEntryViewController {
    dataEntryVC = vc
    vc.callback = calculateHeartRate
    self.presentViewController(dataEntryVC!, animated: true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)

我像这样从子控制器回调:

@IBAction func done(sender : AnyObject) {
    dismissModalViewControllerAnimated(true)
    if let cb = callback {
        cb(beatCount)
    }
}
Run Code Online (Sandbox Code Playgroud)

对于父控制器中的此功能:

func calculateHeartRate(beats : Int?) {
    println("Beats = \(beats)")

    if beats {
        let heartrate = 60/secondsCount * beats!

        println("Heart rate \(heartrate)")
    }
}
Run Code Online (Sandbox Code Playgroud)

println 正确输出到控制台,然后我在“if beats {”行上得到一个异常。

做这样的回调有什么本质上的错误吗?

cocoa swift

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