-1

我在以下代码中遇到错误,例如未声明的“ScriptNotify”

-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
    if(_data)
    {
        [_data release];
        _data = nil;
    }
}

-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
    if(!_data)

    {
        _data = [data mutableCopy];
    }
    else
    {
        [_data appendData:data];
    }
}

-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
    if(_data)
    {
        NSString* content = [[NSString alloc] initWithData:_data
                                                  encoding:NSUTF8StringEncoding];

        [_data release];
        _data = nil;

        // prepend the HTML with our custom JavaScript
        content = [ScriptNotify stringByAppendingString:content];

        [_webView loadHTMLString:content baseURL:_url];
    }
}

如何解决这个问题?有什么想法吗?

4

1 回答 1

2

啊,灯亮了。

这个答案只有在阅读了 Udhaya 所指的文章后才有意义。

在文章中,Steve Saxon 将 ScriptNotify 定义为“我之前描述的一段 javascript”,Objective C 并不那么聪明,所以你必须告诉它这是什么。就像是 :-

NSString* ScriptNotify = @"
    <script type=\"text/javascript\">
    window.external =
    {
        'Notify': function(s) { document.location = 'acs://settoken?token=' + s; },
        'notify': function(s) { document.location = 'acs://settoken?token=' + s; }
    };
    </script>
";

下次要做的事情:-告诉我们这是编译器错误。更好地学习语言,这真的非常基础。而是在 Steve Saxon 的页面上发表评论,这是他的错误。

于 2013-04-26T12:46:07.193 回答