Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 使NSTableView从RSS源显示文章_Objective C_Cocoa - Fatal编程技术网

Objective c 使NSTableView从RSS源显示文章

Objective c 使NSTableView从RSS源显示文章,objective-c,cocoa,Objective C,Cocoa,如何使NSTableView显示RSS提要(仅一个)? 我认为这与NSURL和设置表视图数据源有关。 但是我到底要怎么做呢?有几个步骤 当然,您需要一个数据源 这个数据源需要能够自身连接到RSS提要,读取它,解析它,并将它转换为可显示的内容;或: 您需要有一个数据源datasource来封装网络/XML解析/RSS解释位 最有可能的情况是,您会想要: NSTableView <-> MyDatasource <-> MyDownloadHandler NSTableVi

如何使NSTableView显示RSS提要(仅一个)? 我认为这与NSURL和设置表视图数据源有关。
但是我到底要怎么做呢?

有几个步骤

  • 当然,您需要一个数据源
  • 这个数据源需要能够自身连接到RSS提要,读取它,解析它,并将它转换为可显示的内容;或:
  • 您需要有一个数据源datasource来封装网络/XML解析/RSS解释位
  • 最有可能的情况是,您会想要:

    NSTableView <-> MyDatasource <-> MyDownloadHandler
    
    NSTableView MyDatasource MyDownloadHandler
    
    其中,
    MyDownloadHandler
    负责所有下载和解析,并在接收数据时通知
    MyDatasource
    ,然后通知表视图重新绘制自身(或者耐心地等待表视图在其正常操作过程中重新绘制自身,或者作为计时器触发的结果,或者通过发出请求表视图重新绘制自身的控制器捕获的通知)

    编辑:当然,这实际上并没有回答你的问题

    具体来说,您需要一个NSURLConnection对象来获取RSS提要(同步或异步;如果内存可用,它可以同时执行这两个操作;如果没有,则有另一个类可以执行)


    您还需要在处理程序对象上实现
    NSXMLParserDelegate
    类别,并在RSS提要上运行
    NSXMLParser
    NSXMLParser
    实际上可以直接用
    initWithContentsOfURL:
    初始化,这可能会节省您一些时间。)

    有几个步骤

  • 当然,您需要一个数据源
  • 此数据源需要能够自身连接到RSS提要、读取、解析并将其转换为可显示的内容;或者:
  • 您需要有一个数据源datasource来封装网络/XML解析/RSS解释位
  • 最有可能的情况是,您会想要:

    NSTableView <-> MyDatasource <-> MyDownloadHandler
    
    NSTableView MyDatasource MyDownloadHandler
    
    其中,
    MyDownloadHandler
    负责所有下载和解析,并在接收数据时通知
    MyDatasource
    ,然后通知表视图重新绘制自身(或者耐心地等待表视图在其正常操作过程中重新绘制自身,或者作为计时器触发的结果,或者通过发出请求表视图重新绘制自身的控制器捕获的通知)

    编辑:当然,这实际上并没有回答你的问题

    具体来说,您需要一个NSURLConnection对象来获取RSS提要(同步或异步;如果内存可用,它可以同时执行这两个操作;如果没有,则有另一个类可以执行)


    您还需要在处理程序对象上实现
    NSXMLParserDelegate
    类别,并在RSS提要上运行
    NSXMLParser
    NSXMLParser
    实际上可以直接用
    initWithContentsOfURL:
    初始化,这可能会节省您的一些时间。)

    您应该看看PubSub.framework:

    一些特点:

    • 检索提要内容
    • 订阅订阅源
    • 原子/RSS不可知论

    仅10.5+

    您应该查看PubSub.framework:

    一些特点:

    • 检索提要内容
    • 订阅订阅源
    • 原子/RSS不可知论

    10.5+只有

    它的工作方式会有点像这里的示例应用程序吗?确实如此;除非您可能想使用
    NSXMLParser
    而不是
    NSXMLDocument
    。我明白了。那么我需要更改其中的哪些部分(除了去掉不再需要的代码)要使其与我的提要一起工作?这取决于。大部分代码可能可以按原样使用,但如果选择使用
    NSXMLParser
    路径,则需要在合适的类中实现
    NSXMLParserDelegate
    ,并将其传递给从获取的数据(或使用URL初始化)创建的
    NSXMLParser
    将提要转换为对您的应用程序有意义的对象。如果没有更多关于实现细节的详细信息,我无法告诉您如何操作。好的,我将尝试按原样使用它,而不必使用
    NSXMLParser
    路径。因此,我尝试将get Public提要URL更改为另一个提要,如图中所示,但确实如此esn不加载提要。为什么不呢?我需要更改其他内容吗?它的工作方式是否有点像这里的示例应用程序?确实如此;除非您可能希望使用
    NSXMLParser
    而不是
    NSXMLDocument
    。我明白了。那么我需要更改其中的哪些部分(除去不再需要的代码)要使其与我的提要一起工作?这取决于。大部分代码可能可以按原样使用,但如果选择使用
    NSXMLParser
    路径,则需要在合适的类中实现
    NSXMLParserDelegate
    ,并将其传递给从获取的数据(或使用URL初始化)创建的
    NSXMLParser
    将提要转换为对您的应用程序有意义的对象。如果没有更多关于实现细节的详细信息,我无法告诉您如何操作。好的,我将尝试按原样使用它,而不必使用
    NSXMLParser
    路径。因此,我尝试将get Public提要URL更改为另一个提要,如图中所示,但确实如此esn不加载提要。为什么不?我需要更改其他内容吗?嗯。你能分享一些我可以修改的示例代码吗?我查看了Developer/Examples文件夹中PubSub的示例应用程序,但该应用程序有一个完整的RSS应用程序,当我希望它在表视图中只显示一个提要时。Joshua:这并不意味着PubSub不能这样做。您只需编写自己的原始代码。Hmmm。您能分享一些示例代码吗