小编Jos*_*dik的帖子

如何在Swift中的多个视图控制器中重用表视图?

我正在开发一个应用程序,该应用程序需要在我的应用程序的多个场景中具有完全相同的表格视图,但是,表格的数据和位置将发生变化,如这两张图片所示(表格视图以红色突出显示)

在此处输入图片说明

在此处输入图片说明

在整个应用程序中,该表的所有实例均应具有:

  1. 相同的委托方法
  2. 相同的数据源方法(尽管实际数据将全部更改)
  3. 相同的表格视图单元类型具有相同的出口和动作。
  4. 相同的内部约束(我不想每次都为表单元格手动添加约束)。

现在,我将它们编码为两个单独的视图控制器中的两个单独的表视图,但是,我意识到我将需要在整个应用程序的更多地方复制相同的表和逻辑,这感觉不正确要走的路。所以我的问题是,如何才能以干净,干燥的方式在满足上述规格的iOS中完成表复制(使用界面生成器或swift)?

xcode interface-builder uitableview ios swift

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

如何在Ruby中使用正则表达式将字符串拆分为包含的单词数组?

我正在尝试创建一个正则表达式模式,该模式将基于许多不同的模式和约定将字符串拆分为单词数组.规则如下:

  1. 它必须在所有破折号,空格,下划线和句点上拆分字符串.
  2. 当多个上述字符一起出现时,它必须只拆分一次(所以' - .quick'必须拆分为['the','quick']而不是['the','','','快'())
  3. 它必须将字符串拆分为新的大写字母,同时保留该字母及其对应的单词('theQuickBrown'拆分为['the','quick','brown']
  4. 它必须将多个大写字母组合在一起('LETS_GO'必须分为['let','go'],而不是['l','e','t','s','g',' O'])
  5. 它必须在split数组中仅使用小写字母.

如果它正常工作,则应该如下

"theQuick--brown_fox JumpsOver___the.lazy  DOG".split_words == 
["the", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog"]
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经能够几乎到达那里,唯一的问题是它分裂了每个资本,所以"DOG".split_words是["d","o","g"]而不是["dog" ]

我还在分裂阵列上使用正则表达式和地图/过滤器的组合来获得解决方案,如果你可以告诉我如何摆脱它并仅使用正则表达式的奖励积分.

这是我到目前为止所拥有的:

class String
  def split_words 
    split(/[_,\-, ,.]|(?=[A-Z]+)/).
    map(&:downcase).
    reject(&:empty?)
  end 
end
Run Code Online (Sandbox Code Playgroud)

从上面的测试中调用字符串时返回:

["the", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "d", "o", "g"]
Run Code Online (Sandbox Code Playgroud)

如何更新此方法以满足上述所有规格?

ruby regex

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

标签 统计

interface-builder ×1

ios ×1

regex ×1

ruby ×1

swift ×1

uitableview ×1

xcode ×1