小编use*_*146的帖子

如何创建"选择器阵列"

我正在使用iPhone SDK(3.0),我正在尝试创建一个选择器数组,以在一个类中调用各种方法.

显然,我做错了(我认为@selector不被认为是一个类,因此将它们填充到NSArray中是行不通的).

我试过这个,但这显然是错的.

有一个简单的方法来拥有这样的选择器数组吗?或者是否有更好的方法来迭代一组方法?

selectors = [NSArray arrayWithObjects:
                          @selector(method1),
                          @selector(method2),
                          @selector(method3),
                          @selector(method4),
                          @selector(method5),
                          @selector(method6),
                          @selector(method7), nil];

for (int i = 0; i < [selectors count]; i++) {
    if ([self performSelector:[selectors objectAtIndex:i]]) // do stuff;
}
Run Code Online (Sandbox Code Playgroud)

objective-c selector nsarray ios

82
推荐指数
4
解决办法
2万
查看次数

Ruby将CSV文件读取为UTF-8和/或将ASCII-8Bit编码转换为UTF-8

我正在使用ruby 1.9.2

我正在尝试解析包含一些法语单词的CSV文件(例如spécifié)并将内容放在MySQL数据库中.

当我从CSV文件中读取行时,

file_contents = CSV.read("csvfile.csv", col_sep: "$")
Run Code Online (Sandbox Code Playgroud)

这些元素以ASCII-8BIT编码的字符串形式返回(spécifié变为sp\xE9cifi\xE9),然后像"spécifié"这样的字符串未正确保存到我的MySQL数据库中.

Yehuda Katz说ASCII-8BIT实际上是"二进制"数据,这意味着CSV不知道如何读取适当的编码.

所以,如果我尝试使CSV强制编码如下:

file_contents = CSV.read("csvfile.csv", col_sep: "$", encoding: "UTF-8")

我收到以下错误

ArgumentError: invalid byte sequence in UTF-8: 
Run Code Online (Sandbox Code Playgroud)

如果我回到我原来的ASCII-8BIT编码字符串并检查我的CSV读取为ASCII-8BIT的字符串,它看起来像"非sp\xE9cifi\xE9"而不是"非spécifié".

这样做我无法将"Non sp\xE9cifi\xE9"转换为"非spécifié" "Non sp\xE9cifi\xE9".encode("UTF-8")

因为我收到这个错误:

Encoding::UndefinedConversionError: "\xE9" from ASCII-8BIT to UTF-8,

Katz指出会发生这种情况,因为ASCII-8BIT实际上并不是一个正确的字符串"编码".

问题:

  1. 我可以使用CSV以适当的编码读取我的文件吗?如果是这样,怎么样?
  2. 如何将ASCII-8BIT字符串转换为UTF-8以便在MySQL中正确存储?

ruby csv string encoding utf-8

55
推荐指数
2
解决办法
5万
查看次数

通过基于项的属性对对象数组进行分组来构建哈希

我想知道在ruby 1.9中是否有更规范的方法可以做到这一点

我有一个包含大量对象的数组,我想使用数组中每个对象的属性将它们分组为Hash.

简单的例子:

> sh = {}
 => {} 
> aers = %w(a b c d ab bc de abc)
 => ["a", "b", "c", "d", "ab", "bc", "de", "abc"] 
> aers.each do |aer|
>     sh[aer.size] = [] if sh[aer.size].nil?
>     sh[aer.size] << aer
>   end
=> ["a", "b", "c", "d", "ab", "bc", "de", "abc"] 
> sh
 => {1=>["a", "b", "c", "d"], 2=>["ab", "bc", "de"], 3=>["abc"]} 
Run Code Online (Sandbox Code Playgroud)

我试过这个,但它的输出是错误的(你可以看到):

 sh = Hash.new([])
 => {} 
> aers.each do |aer|
>     sh[aer.size] << …
Run Code Online (Sandbox Code Playgroud)

ruby arrays hash

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

在"顶栏"和"底栏"之间使用ListView的Android布局

我正在尝试构建一个布局,其中屏幕顶部有一个文本视图,屏幕底部有一个底部栏.这些视图中的每一个都应保持固定,并且在2之间应该是ListView.

TOPBAR
LISTVIEW (scrollable)
BOTTOM BAR
Run Code Online (Sandbox Code Playgroud)

我的布局(见下文)几乎可以工作:顶部和底部组件保持固定,列表视图滚动."问题"是我的ListView的最后一行仍隐藏在底栏后面.

有关如何调整布局的任何建议?

谢谢!

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        xmlns:android="http://schemas.android.com/apk/res/android">
    <LinearLayout
            android:layout_alignParentTop="true"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:orientation="vertical"
            >
        <TextView
                android:background="@drawable/blackgrad"
                android:gravity="center"
                android:id="@+id/title"
                android:layout_height="50dip"
                android:layout_width="fill_parent"
                android:text="blah blah"
                android:textColor="#ffffff"
                android:textSize="18sp"
                />
        <ListView
                android:background="#ffffff"
                android:cacheColorHint="#ffffffff"
                android:id="@android:id/list"
                android:layout_height="fill_parent"
                android:layout_width="fill_parent"
                />
    </LinearLayout>
    <LinearLayout
            android:background="#efefef"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:layout_width="fill_parent"
            android:layout_height="50dip"
            android:orientation="horizontal">
        <Button
                android:layout_height="wrap_content"
                android:id="@+id/back"
                android:text="Back"
                android:layout_width="wrap_content" />

        <Button
                android:layout_height="wrap_content"
                android:id="@+id/home"
                android:text="Home"
                android:layout_width="wrap_content" />

        <Button
                android:layout_height="wrap_content"
                android:id="@+id/next"
                android:text="Next"
                android:layout_width="wrap_content" />


    </LinearLayout>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

android footer android-layout android-linearlayout android-relativelayout

12
推荐指数
2
解决办法
2万
查看次数

在Java/Android中高效过滤ArrayList

我正在开发一个Android应用程序(Android 1.6),但这可能是一个更普遍的Java问题.

我有一个大约10,000个对象的ArrayList

对象包含3个字符串(firstName,middleName,lastName).

在android上向用户呈现"搜索框",他们可以通过键入部分名称来搜索特定的"对象".

我有一个类(我称之为Filterer),它在10,000个列表中搜索匹配的对象,然后将它们作为"子列表"返回.

搜索有点慢(特别是在Android手机上),我确信我没有以最有效的方式进行搜索/过滤.

有没有人对如何加快搜索有任何建议?我的代码如下.一种可能性来搜索已经包含小写和连接的每条信息的辅助"masterList"......但是可能有其他方法来改进这种搜索也会有所帮助.

TIA!

public void filterNames() {
  this.filteredList.clear();
  String sv = this.searchString.toString.trim().toLowerCase(); // search value
  for (int i = 0; i < this.masterList.size(); i++) {
    MyObject d = this.masterList.get(i);
    String fn = d.getFirstName().toString().toLowerCase();
    String mn = d.getMiddleName().toString().toLowerCase();
    String ln = d.getLastName().toString().toLowerCase();

    if (fn.indexOf(sv) >= 0 || 
        md.indexOf(sv) >= 0 || 
        ln.indexOf(sv) >= 0) {
      this.currentList.add(d);
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

java android arraylist filter

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

在UITableViewController中设置标题栏文本的字体和字体大小

我有一个简单的导航应用程序的iphone/objective-c

在推入视图的各种UIViewControllers中,我可以使用类似的东西在标题栏中设置文本

self.title = @"blah blah blah"
Run Code Online (Sandbox Code Playgroud)

有没有办法控制标题栏文本中标题的字体字体大小

谢谢!

iphone objective-c

9
推荐指数
3
解决办法
2万
查看次数

在R中的非常大的数据集上执行PCA

我在CSV文件中有一个非常大的训练集(~2Gb).该文件太大,无法直接读入内存(read.csv()使计算机停止),我想使用PCA减小数据文件的大小.问题是(据我所知)我需要将文件读入内存以运行PCA算法(例如princomp()).

我已经尝试过将bigmemory包读取为一个文件big.matrix,但princomp不能在big.matrix对象上运行,它似乎big.matrix不能转换为类似的东西data.frame.

有没有办法princomp在我丢失的大型数据文件上运行?

我是R的相对新手,所以对于经验丰富的用户来说,其中一些可能是显而易见的(道歉).

谢谢你的任何信息.

r bigdata pca

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

有没有办法执行UIModalTransitionStyleCoverHORIZONTAL(而不是FlipHorizo​​ntal)?

我正在使用objective-c(很明显,我猜)并且我想知道是否有一种(简单)方式来呈现模态视图但是从屏幕右侧滑入视图.

UIModalTransitionStyleCoverVertical从底部有新的视图幻灯片,所以我天真地认为会有一个水平对应物,但我在文档中找不到一个.

我不是指UIModalTransitionStyleFlipHorizo​​ntal(我不想3D翻转).

没有UINavigationController的包袱,有没有其他方法可以做到这一点?思考?

TKS!

iphone modal-dialog objective-c

5
推荐指数
1
解决办法
3917
查看次数

AppleScript或Automator点击应用程序中的菜单?

我不确定这是否可以通过AppleScript和/或Automator进行...但我希望能够:

a)启动一个应用程序(我知道这可以通过AppleScript或Automator轻松完成)

b)启动应用程序后,使用AppleScript或Automator选择特定的菜单项.

例如,我想启动Excel 2008(我的家庭/学生版本没有为Automator预先配置),然后单击"文件"菜单并单击"打开".

关于去哪里/寻找如何选择这样的菜单项的指针(或者如果它甚至可能的话)?

您可以使用Automator的Record功能"排序",但Record非常脆弱.

我宁愿能够使用AppleScript简单地获取包含应用程序的每个菜单项的"数组",然后以编程方式单击我的数组中的第0个菜单项...等.等等

这可能吗?

TIA

macos applescript automator excel-2008

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

适用于"应用程序"类的Android Splash屏幕

我有一个Android应用程序,我扩展了基础Application类,以便设置一些全局变量.

public class MyApplication extends Application {

 private ArrayList<ModelClass> master_list; // global variable 1
 private DataBaseHelper db_helper; // global variable 2

 @Override
 public void onCreate() {
  super.onCreate();
  //do database work that will take about 5 seconds
 }
}
Run Code Online (Sandbox Code Playgroud)

我想在Application类工作时(即在创建主活动之前)向用户显示启动画面.有没有办法做到这一点?

android splash-screen android-activity

5
推荐指数
1
解决办法
3803
查看次数