小编Joh*_*ger的帖子

提示用户选择带有bash脚本的目录并读取结果

我希望用bash脚本读取一个目录(实际上我使用的是zsh).

我想在同一目录中列出当前文件夹并将其显示给用户,要求他们输入一个数字以选择正确的文件夹.

Please select a Folder eg, 1,2,3.
1. Folder Name 1 (this should the actual name of the folder in the dir
2. Folder 2
3. Folder 3.
Run Code Online (Sandbox Code Playgroud)

我也希望能够转换输入,例如1.回到实际的文件夹名称,所以我可以

cd ./$foldername/
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.干杯,约翰.

macos bash shell

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

在iPhone上使用NSDateFormatter,保护语言环境但丢失日期组件

这是一个有点棘手的问题.我在iPhone上使用NSDateFormatter,但我想只显示没有年份组件的标准日期.但保留其日期的用户区域设置格式.

我可以使用轻松覆盖格式

[dateFormatter setDateFormat:@"h:mma EEEE MMMM d"];  // hurl.ws/43p9 (date formatting)
Run Code Online (Sandbox Code Playgroud)

但现在日期是我的en-nz格式,例如7月7日星期三下午12:01.所以我完全杀死了世界上任何其他用户的语言环境.

我想说.

为我提供此用户区域的正确本地化日期,但省略年份组件.

由于日期显示为字符串,我很想将日期归结为日期,然后通过将其从字符串中删除来删除年份组件.

iphone nsdateformatter

12
推荐指数
3
解决办法
5786
查看次数

阻止self.navigationItem.leftBarButtonItem退出视图

当用户点击左上角的导航栏按钮时,我想阻止视图退出.如果我能做到这一点,我可以问他们是否想要保存他们的工作或丢弃它.

我试过这个.但它并没有给我左侧的漂亮箭头,而只是给了我一个按钮.

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil];
Run Code Online (Sandbox Code Playgroud)

我也试过了.

self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil];
Run Code Online (Sandbox Code Playgroud)

但那没用.我没有看到覆盖这个选择器的方法?别人都有运气.

干杯,约翰.

iphone

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

检测用户单击UITextView中的粘贴按钮的时间

我在尝试更改剪切/复制/粘贴行为时遇到了很大问题UITextView.我想要实现的是:检测用户何时粘贴了一些文本UITextView.当我发现这个时,我会检查数据并做我的事情.

根据文件,我发现了UIResponder.

所以我创建了一个继承的简单类UITextView.在.m文件中我创建了一个名为的函数.

-(void) paste:(id)sender{
  NSLog(@"paste button was pressed do something");
}
Run Code Online (Sandbox Code Playgroud)

但出于某种原因,似乎永远不会开火.我可以让select语句工作并跟踪数据.

-(void) select:(id)sender
Run Code Online (Sandbox Code Playgroud)

1.这是在UITextView中检测粘贴的正确方法吗?2.现在我正在跟踪购买多少字符UITextView更改,如果它大于一个字符,那么我怀疑它可能是一个粘贴操作.但由于iPhone可以自动完成单词,例如Wedn(到周三),它可能不是粘贴操作.

在Interface Builder中,我在我的NIB文件中选择了我的textView,然后选择了它的"类标识"到我几乎创建的类之前,我知道这个文件是作为子类工作的,但它只是不响应粘贴事件.

谢谢.

iphone uitextview

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

Python Unicode UnicodeEncodeError

我在尝试将UTF-8字符串转换为unicode时遇到问题.我收到了错误.

UnicodeEncodeError: 'ascii' codec can't encode characters in position 73-75: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

我尝试在try/ except块中包装它,但谷歌给了我一个系统管理员错误,这是一行.有人可以建议如何捕获此错误并继续.

干杯,约翰.

- 完全错误 -

Traceback (most recent call last):
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/webapp/__init__.py", line 501, in __call__
    handler.get(*groups)
  File "/Users/johnb/Sites/hurl/hurl.py", line 153, in get
    self.redirect(url.long_url)
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/webapp/__init__.py", line 371, in redirect
    self.response.headers['Location'] = str(absolute_url)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 73-75: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

python unicode google-app-engine utf-8

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

在数组中存储自定义alloc'ed对象.内存管理

我不确定我是否正确编写此代码.

Fruit * o1 = [[Fruit alloc] initWithName:kFruitOrange imageView:orange1] ;
fruitArray = [[NSMutableArray arrayWithObjects:o1, nil] retain]; // retain array for later use.
Run Code Online (Sandbox Code Playgroud)

实际上有几种水果.因为我分配它们,然后在我的类init方法中将它们分配给一个数组.何时以及如何释放这些对象.

澄清. 如果我[o1 release]在保存数组后释放 ,在其他方法中查看数组时会出现"exc_bad_access"错误.

在我的viewDidUnload方法中,我已经完成了数组并手动释放了每个对象.

  for (Fruit * f  in fruitArray) {
        [f release];
    }
Run Code Online (Sandbox Code Playgroud)

我之前从未见过其他人在代码中这样做过,所以我认为这不是正确的方法吗?

UPDATE

-(Fruit *) initWithName:(enum fruitTypes)fruitName imageView:(UIImageView *)iv{
    if((self = [super init])){
        name = @"Fuit Object";
        NSLog(@"creating orange colour %i", fruitName);
        switch (fruitName) {
            case kFruitOrange:
                 NSLog(@"creating orange colour ");
                colour = [UIColor orangeColor] ;
                break;
            case kFruitBanana:
                colour = …
Run Code Online (Sandbox Code Playgroud)

memory-management objective-c

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