小编mar*_*wer的帖子

Ruby 1.9.2 - 读取并解析远程CSV

我正在寻找一种方法来本地读取和解析远程CSV(托管在特定网站上).

我在互联网上发现了一些有趣的例子,它们使用了FasterCSV,在ruby 1.9.2中已经合并为CSV.我发现你可以用这种方式使用gems'csv'和'open-uri'来读取远程CSV:

require 'csv'
require 'open-uri'

def read(url)
  open(url) do |f|
    f.each_line do |l|
      CSV.parse(l) do |row|
        puts row
      end
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

但是当我调用这个函数时,我得到一个例外:

ERROR IOError: closed stream
Run Code Online (Sandbox Code Playgroud)

谁能解释我为什么?有什么不对的吗?我应该选择其他方法来阅读远程CSV吗?

更新

我到目前为止找到的最佳解决方案是:

def read(url)
  data = []
  begin
    open(url) do |f|
      data = CSV.parse f
    end
  rescue IOError => e
    # Silently catch the exception ...
  end

  return data
end
Run Code Online (Sandbox Code Playgroud)

但它有点似乎不那么干净.我真的不喜欢默默地捕捉异常,它不应该......

更新2

我可以使用两者重现错误

ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-darwin10.4.0]
Run Code Online (Sandbox Code Playgroud)

ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.7.0]
Run Code Online (Sandbox Code Playgroud)

这是我test.rb文件中的代码:

require …
Run Code Online (Sandbox Code Playgroud)

ruby csv parsing rvm

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

在iOS应用程序之间同步数据的好方法是什么?

我正在开发一个应用程序,其数据管理是通过Core Data实现的,我正在研究如何实现一个功能来同步两个不同设备之间的数据(甚至最终在iDevices和Mac之间).

到目前为止,我还没有发现任何有趣或有用的东西,所以我要求你提供一个好的起点,指南或模型.你有没有意识到这样的事情?

更新

我已经开始对这个问题给予赏金.同步在iOS上可能是一项艰巨的任务,但是,有很多应用程序可以提供设备到设备的同步功能.我的问题是:他们是怎么做到的?什么是最好的方法?有哪些不同的解决方案?

更新2

由于iCloud已于近一年前发布,因此这个问题肯定已经过时了.我想让它保持活力,因为它可以提供有关设备之间移动数据同步的有趣见解.

core-data objective-c ios data-synchronization

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

有没有办法让Objective-C支持多变量开关构造?

我想知道:有没有办法让Objective-C支持多变量switch构造?

我的意思是,我经常需要处理解决方案依赖于一对变量而不是一对变量的问题.对于一长串单变量值,可以使用一个简单的switch/case构造:

switch (var) {
    case 0: ...
    case 1: ...
    default: ...
}
Run Code Online (Sandbox Code Playgroud)

但是当你必须处理两个值的组合时,你经常碰巧做这样的事情:

switch (var1) {
    case 0: 
        switch (var2) {
            case 0: ...
            case 1: ...
        }
    case 1: 
        switch (var2) {
            case 0: ...
            case 1: ...
        }        
    ...
}
Run Code Online (Sandbox Code Playgroud)

它变得越来越复杂......我真正喜欢做的是这样的事情:

switch (var1, var2) {
    case (0,0) : ...
    case (1,0) : ...
    case (*,1) : ...
    default: ...
}
Run Code Online (Sandbox Code Playgroud)

这将导致更简单和可读的结构.有没有解决方案来支持这样的结构?或者这个略有变化?

objective-c switch-statement

16
推荐指数
1
解决办法
3415
查看次数

如何在UITableView中使单元格可移动但不可删除?

我的目标

您好,我的问题很简单.我有UITableView几个细胞.其中一些可以删除(但不一定全部删除),但所有这些都可以移动.

我的问题

我不明白如何通过iOS SDK实现这一点.使用组合tableView:canMoveRowAtIndexPath:tableView:canEditRowAtIndexPath:我只能将单元格设置为可删除,并最终可移动,但反之亦然.我想将一个单元设置为可移动但不一定是可删除的.这可能吗?

iphone uitableview ios

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

如果应用程序处于后台状态,则在使用推送通知时会调用哪个委托方法?

阅读Apple有关推送通知的文档:

  1. 作为所呈现的通知的结果,用户点击警报的动作按钮或点击应用程序图标.如果点击操作按钮,系统将启动应用程序,应用程序将调用其委托application:didFinishLaunchingWithOptions:方法
  2. 当应用程序在前台运行时,将传递通知.应用程序调用其委托application:didReceiveRemoteNotification:方法

所以我的问题是,如果应用程序处于后台状态(它正在运行或暂停),哪个委托被调用?难道application:didFinishLaunchingWithOptions:还是application:didReceiveRemoteNotification:

请帮帮我,谢谢!

iphone apple-push-notifications ipad ios4

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

我可以在我的应用程序外检查Game Center身份验证状态吗?

我希望能够知道运行我的应用程序的用户是否已连接到GameCenter(通过GameCenter应用程序或通过其他应用程序),当我第一次运行我的应用程序时.

我发现如果我检查布尔值:

[GKLocalPlayer localPlayer].authenticated)
Run Code Online (Sandbox Code Playgroud)

它返回false.我想有一件事可能会解决这个问题,就是在启动时运行:

[[GKLocalPlayer localPlayer] authenticateWithCompletionHandler:^(NSError *error)
Run Code Online (Sandbox Code Playgroud)

但是,如果用户未连接,则会弹出游戏中心,请求现有帐户或创建新帐户.

所以我的问题是:当我的应用程序关闭时,有没有办法知道我的用户连接我的应用程序之外的GC,如果他没有连接,没有弹出上面的警报?

谢谢!!

iphone cocoa-touch objective-c game-center

8
推荐指数
1
解决办法
3209
查看次数

从启动图像平滑过渡到主视图

当应用程序加载时,是否可以实现从启动图像到第一个视图的平滑过渡?

默认行为是打开/关闭,立即更改:启动图像出现,然后它立即消失,让主视图控制器发生.我想实现一些淡入淡出或放大或缩小.

这可能吗?

谢谢!

iphone transition launch

8
推荐指数
2
解决办法
9756
查看次数

在UITableView中更新部分页脚标题而不重新加载

我希望能够以编程方式更新表视图中部分的页脚标题,同时我通过键盘输入文本.当我单击一个单元格以使其详细的文本视图可编辑时,键盘出现,所以我想更新页脚标题而不从数据源重新加载.

事实上,如果我这样做,键盘就会消失,所以它不是一种很好的互动形式.我无法找到解决这个问题的好方法......有什么建议吗?

谢谢

iphone uitableview ios

7
推荐指数
2
解决办法
7047
查看次数

我现在可以使用新的Xcode 4.2 Developer Preview来发布常规应用吗?

长话短说:如果我在Mac上下载并安装新的Xcode 4.2开发者预览版并开始开发新的iOS 5应用程序,我还可以使用它来开发和发布iOS 4.x应用程序吗?

我现在无法安装这个平台的两个不同版本.可能你们当中有人试过并且可以回答.

与新Xcode版本相关的iOS 5 beta发行说明链接似乎已被破坏.

谢谢!

iphone xcode app-store xcode4

7
推荐指数
1
解决办法
1584
查看次数

关于iPhone和iPad编程的差异

开发iPhone和iPad的应用程序有什么主要区别?

我需要编写额外的代码吗?

谢谢

iphone cocoa-touch objective-c ipad

6
推荐指数
1
解决办法
4553
查看次数