我正在寻找一种方法来本地读取和解析远程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)
但它有点似乎不那么干净.我真的不喜欢默默地捕捉异常,它不应该......
我可以使用两者重现错误
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) 我正在开发一个应用程序,其数据管理是通过Core Data实现的,我正在研究如何实现一个功能来同步两个不同设备之间的数据(甚至最终在iDevices和Mac之间).
到目前为止,我还没有发现任何有趣或有用的东西,所以我要求你提供一个好的起点,指南或模型.你有没有意识到这样的事情?
我已经开始对这个问题给予赏金.同步在iOS上可能是一项艰巨的任务,但是,有很多应用程序可以提供设备到设备的同步功能.我的问题是:他们是怎么做到的?什么是最好的方法?有哪些不同的解决方案?
由于iCloud已于近一年前发布,因此这个问题肯定已经过时了.我想让它保持活力,因为它可以提供有关设备之间移动数据同步的有趣见解.
我想知道:有没有办法让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)
这将导致更简单和可读的结构.有没有解决方案来支持这样的结构?或者这个略有变化?
您好,我的问题很简单.我有UITableView几个细胞.其中一些可以删除(但不一定全部删除),但所有这些都可以移动.
我不明白如何通过iOS SDK实现这一点.使用组合tableView:canMoveRowAtIndexPath:和tableView:canEditRowAtIndexPath:我只能将单元格设置为可删除,并最终可移动,但反之亦然.我想将一个单元设置为可移动但不一定是可删除的.这可能吗?
阅读Apple有关推送通知的文档:
application:didFinishLaunchingWithOptions:方法 application:didReceiveRemoteNotification:方法 所以我的问题是,如果应用程序处于后台状态(它正在运行或暂停),哪个委托被调用?难道application:didFinishLaunchingWithOptions:还是application:didReceiveRemoteNotification:?
请帮帮我,谢谢!
我希望能够知道运行我的应用程序的用户是否已连接到GameCenter(通过GameCenter应用程序或通过其他应用程序),当我第一次运行我的应用程序时.
我发现如果我检查布尔值:
[GKLocalPlayer localPlayer].authenticated)
Run Code Online (Sandbox Code Playgroud)
它返回false.我想有一件事可能会解决这个问题,就是在启动时运行:
[[GKLocalPlayer localPlayer] authenticateWithCompletionHandler:^(NSError *error)
Run Code Online (Sandbox Code Playgroud)
但是,如果用户未连接,则会弹出游戏中心,请求现有帐户或创建新帐户.
所以我的问题是:当我的应用程序关闭时,有没有办法知道我的用户连接我的应用程序之外的GC,如果他没有连接,没有弹出上面的警报?
谢谢!!
当应用程序加载时,是否可以实现从启动图像到第一个视图的平滑过渡?
默认行为是打开/关闭,立即更改:启动图像出现,然后它立即消失,让主视图控制器发生.我想实现一些淡入淡出或放大或缩小.
这可能吗?
谢谢!
我希望能够以编程方式更新表视图中部分的页脚标题,同时我通过键盘输入文本.当我单击一个单元格以使其详细的文本视图可编辑时,键盘出现,所以我想更新页脚标题而不从数据源重新加载.
事实上,如果我这样做,键盘就会消失,所以它不是一种很好的互动形式.我无法找到解决这个问题的好方法......有什么建议吗?
谢谢
长话短说:如果我在Mac上下载并安装新的Xcode 4.2开发者预览版并开始开发新的iOS 5应用程序,我还可以使用它来开发和发布iOS 4.x应用程序吗?
我现在无法安装这个平台的两个不同版本.可能你们当中有人试过并且可以回答.
与新Xcode版本相关的iOS 5 beta发行说明链接似乎已被破坏.
谢谢!
开发iPhone和iPad的应用程序有什么主要区别?
我需要编写额外的代码吗?
谢谢
iphone ×7
objective-c ×4
ios ×3
cocoa-touch ×2
ipad ×2
uitableview ×2
app-store ×1
core-data ×1
csv ×1
game-center ×1
ios4 ×1
launch ×1
parsing ×1
ruby ×1
rvm ×1
transition ×1
xcode ×1
xcode4 ×1