小编iBu*_*Bug的帖子

UIPickerView - 第一行选择不会调用didSelectRow

UIPickerView和我UIView在一起UITextField.我让用户从选择器中选择一个值或在文本字段中输入自定义值.

当用户从选择器中选择任何选项时,变量值将在(pickerView:didSelectRow:inComponent:方法中)改变.但是如果用户没有在选择器上选择任何值(因为他们想要选择已经选择的第一个选项),则不会调用此方法,并且选择不会反映在变量中.

我尝试将变量的默认值设置为选择器中的第一个选项.但在这种情况下,当用户编辑文本字段时,变量将具有文本字段的文本.现在,如果用户决定再次选择第一个值,则新值不会反映在变量中.

我怎么能克服这个?谢谢.

这是相关的代码

在我的viewDidLoad我有这个语句selectText默认情况下设置选择器的第一个选项

[self setSelectText:[myArray objectAtIndex:0]];
Run Code Online (Sandbox Code Playgroud)

textFieldShouldReturn

- (BOOL)textFieldShouldReturn:(UITextField *)txtField{
    [txtField resignFirstResponder];
    [self setSelectText:txtField.text];
    return YES;
}
Run Code Online (Sandbox Code Playgroud)

PickerViewDelegate的didSelectRow

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
    // report the selection to the UI label
    [self setSelectText:[myArray objectAtIndex:[pickerView selectedRowInComponent:0]]];
}
Run Code Online (Sandbox Code Playgroud)

当用户编辑文本然后决定他想要使用选择器的第一个值时,就会出现问题.在这种情况下,他们将关闭键盘并单击选择器的第一个选项(已选中).此操作不会调用didSelectRow,因此selectText的值不会更改.

为了使用户能够更改其值selectText,他们首先必须从选择器中选择一些其他值,然后选择第一行.

iphone uipickerview uitextfield

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

架构arm64"_OBJC_CLASS _ $ _ SFSafariViewController"的未定义符号

我正在尝试将Google登录集成到我的iOS应用中.我遵循了Google提到的说明.

我也添加了SafariService.framework.

我仍然收到此错误:

    Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_SFSafariViewController", referenced from:
      objc-class-ref in GoogleSignIn(GIDSignIn.o)
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题?

有任何想法吗?

谢谢

objective-c ios

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

机器学习监控服务器

我正在查看pybrain获取服务器监视器警报并确定问题的根本原因.我很高兴使用有监督的学习和策划训练数据集来训练它.数据结构如下:

 * Server Type **A** #1
  * Alarm type 1
  * Alarm type 2
 * Server Type **A** #2
  * Alarm type 1
  * Alarm type 2
 * Server Type **B** #1
  * Alarm type **99**
  * Alarm type 2
Run Code Online (Sandbox Code Playgroud)

所以有n个服务器,x警报可以是UPDOWN.这两个nx是可变的.

如果服务器A1具有报警1和2DOWN,那么我们可以说,服务是关闭该服务器上,是导致问题的原因.

如果所有服务器上的警报1都关闭,那么我们可以说服务a是原因.

原因可能有多种选择,因此直接分类似乎不合适.

我还想将以后的数据来源与网络联系起来.比如ping一些外部服务的脚本.

由于串行服务检查,可能不会立即触发所有相应的警报,因此它可以从一台服务器启动,然后在另一台服务器启动后5分钟启动.

我一开始想尝试一些基本的东西:

from pybrain.tools.shortcuts import buildNetwork
from pybrain.datasets import SupervisedDataSet
from pybrain.supervised.trainers import …
Run Code Online (Sandbox Code Playgroud)

python machine-learning monitor go neural-network

14
推荐指数
2
解决办法
2520
查看次数

在swift中将简单字符串转换为JSON字符串

我知道有一个与同名的一个问题在这里.但在那个问题上,他正在尝试将字典转换为JSON.但我有一个像这样简单的刺痛:"花园"

我必须将其作为JSON发送.我已经尝试过SwiftyJSON,但我仍然无法将其转换为JSON.

这是我的代码:

func jsonStringFromString(str:NSString)->NSString{

    let strData = str.dataUsingEncoding(NSUTF8StringEncoding)
    let json = JSON(data: strData!)
    let jsonString = json.string

    return jsonString!
}
Run Code Online (Sandbox Code Playgroud)

我的代码在最后一行崩溃了:

fatal error: unexpectedly found nil while unwrapping an Optional value
Run Code Online (Sandbox Code Playgroud)

难道我做错了什么?

json swift swifty-json

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

Alamofire responseSerializationFailed(Alamofire.AFError.ResponseSerializationFailureReason.inputDataNilOrZeroLength)

我有一些工作代码从远程Web服务器上的MySQL数据库获取结果.它不再有效,我不断收到消息responseSerializationFailed(Alamofire.AFError.ResponseSerializationFailureReason.inputDataNilOrZeroLength).这是一些代码......

    Alamofire.request(ADS_URL, method: .get).validate().responseJSON { response in
        print("Request: \(String(describing: response.request))")   // original url request
        print("Response: \(String(describing: response.response))") // http url response
        print("Result: \(response.result)")                         // response serialization result

        switch response.result {
        case .success(let value):
            let json = JSON(value)
            print ("JSON: \(json)")

            if let data = response.data, let utf8Text = String(data: data, encoding: .utf8) {
                print("Data: \(utf8Text)") // original server data as UTF8 string
            }

        case .failure(let error):
            print("Error while querying database: \(String(describing: error))")
            return
        }
    }
Run Code Online (Sandbox Code Playgroud)

我也在使用SwiftyJSON.以下是代码的结果......

Request: Optional(http://doyouado.com/adscan/get_ads) …
Run Code Online (Sandbox Code Playgroud)

swift alamofire swifty-json

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

如何控制UISearchDisplayController的searchResultsTableView?

我想知道如何控制使用的表视图UISearchDisplayController.您不能覆盖该searchResultsTableView属性UISearchDisplayController,因为它是只读属性.

我试图searchResultsTableView通过自定义覆盖UITableView.这只能运行一次,但是一旦你尝试第二次搜索,真实searchResultsTableView就会再次出现.(我的意思是,你在一些文本输入searchBar,您的自定义表视图顶部并显示搜索结果,事后你按下取消按钮.现在,如果你重复这一点,您的自定义表将不会被显示,searchResultTableView中UISearchDisplayController将位于顶部).

当然,你可以试试它没有UISearchDisplayController,但我依靠这个类的优点,我只想自定义tableView.

iphone customization uitableview uisearchdisplaycontroller

6
推荐指数
2
解决办法
6921
查看次数

UIRefreshControl问题

我正在尝试UIRefreshControl在我的应用程序中实现.我有一个xib文件,我UITableViewController在空的nib文件中添加了一个,并将refresh属性设置为"enabled".此外,我已经添加了代码viewDidLoad和自定义刷新方法.问题是我有一个错误我找不到任何关于....的信息.... viewDidLoad我得到的"属性' refreshControl'没有找到类型的对象ViewController"

- (void)viewDidLoad{

[super viewDidLoad];

self.myTableView =
[[UITableView alloc] initWithFrame:self.view.bounds
                           style:UITableViewStyleGrouped];

self.myTableView.autoresizingMask = UIViewAutoresizingFlexibleWidth |
                                  UIViewAutoresizingFlexibleHeight;

self.myTableView.delegate = self;
self.myTableView.dataSource = self;

[self.view addSubview:self.myTableView];

UIRefreshControl *refresh = [[UIRefreshControl alloc] init];

refresh.attributedTitle = [[NSAttributedString alloc] initWithString:@"Pull to Refresh"];
[refresh addTarget:self action:@selector(refreshView:) forControlEvents:UIControlEventValueChanged];

self.refreshControl = refresh;

}

-(void)refreshView:(UIRefreshControl *)refresh {

refresh.attributedTitle = [[NSAttributedString alloc] initWithString:@"Refreshing data..."];

// custom refresh logic would be placed here...

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c ios uirefreshcontrol

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

UIImageView setImage或setBackgroundColor,哪一个在iOS中更好

我可能会为这个问题投票,但我很好奇,无法找到任何解释.所以我要在这里发布.

我的问题是,我必须在自定义单元格中显示自定义分隔符图像.如果我只是设置背景颜色imageView而不是设置UIImage,那么它是更好的方法吗?

以下是解释我的问题的示例屏幕截图.

在此输入图像描述

在此屏幕截图中,我有黑色和灰色分隔符.

[barImage setBackgroundColor:[UIColor blackColor]];
[greyBarImage setBackgroundColor:[UIColor greyColor]];
Run Code Online (Sandbox Code Playgroud)

要么

[barImage setImage:[UIImage imageNamed:@"black.png"]];
[greyBarImage setImage:[UIImage imageNamed:@"grey.png"]];
Run Code Online (Sandbox Code Playgroud)

现在,哪一个更好?我只知道imageNamed:它有点慢,我们应该避免,但我不确定.

编辑:

这是我在发布此问题后所知道的:

设置图片:

  • 这将耗费RAM
  • 图像不会覆盖整个imageView,因此可能会有不透明的部分 UIImageView

设置背景颜色:

  • 这是CPU的开销,但会减少应用程序内存.
  • 背景颜色将覆盖整体UIImageView,因此整体imageView将是不透明的并且将响应触摸.

objective-c uiimageview ios

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

Enter事件不会使用angular在Android设备上触发功能

有多个问题的答案都与我的问题有关,但不幸的是,没有一个问题对我有用。

我必须检测在android键盘上按下的enter并将焦点从当前的matInput更改为下一个matInput。

我曾尝试keyup.enterkeydownkeypress但没有为我工作。我实现了指令方法,但在Android设备上调试应用程序时未触发方法。虽然,它确实会触发浏览器上的方法。

这是我正在使用的。

HTML:

    <mat-form-field class="ib-input-container-width">
  <input matInput data-dependency="lastName" (keypress)="onChange($event.keyCode)" (keyup.enter)="handleNext('lastName')"  [formControl]="form.get('FirstName')" type="text" >

</mat-form-field>

<mat-form-field class="ib-input-container-width" >
  <input #lastName id="lastName" matInput  [formControl]="form.get('LastName')" type="text">
Run Code Online (Sandbox Code Playgroud)

TS:

  handleNext(elementId){
    let nextElement = document.getElementById(elementId);
    console.log(nextElement);
    nextElement.focus();
  }

  onChange(event){
    console.log(event.keycode);
  }
Run Code Online (Sandbox Code Playgroud)

PS:我正在使用Cordova进行工作的渐进式Web应用程序。

更新资料

我已经尝试过/sf/answers/1967252591/的解决方案, 但是ng-change也不起作用。

html android cordova angular

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

Twitter4j - 超出了限额

我想getFollowersIds()在Twitter4j中使用粉丝,但我明白了

ConnectionErrorException ...超出速率限制

public static void main(String[] args) {
        try {
            Twitter twitter = TwitterFactory.getSingleton();
            String[] srch = new String[]{"TechCrunch"};
            ResponseList<User> users = twitter.lookupUsers(srch);
            for (User user : users) {

                UserHarvest us = new UserHarvest(6017542);
                us.getFollowersIds();
                try {
                    us.getContributors();
                } catch (ConnectionErrorException ex) {
                    Logger.getLogger(UserHarvest.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        } catch (TwitterException ex) {
            Logger.getLogger(UserHarvest.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
Run Code Online (Sandbox Code Playgroud)

错误信息:

Exception in thread "main" harvest.twitterharvest.ConnectionErrorException: Connection could not have been established
    at harvest.twitterharvest.WrapperTwitter4J.getFollowersIDs(WrapperTwitter4J.java:75)
    at harvest.twitterharvest.UserHarvest.getFollowersIds(UserHarvest.java:106)
    at harvest.twitterharvest.UserHarvest.main(UserHarvest.java:140)
Caused …
Run Code Online (Sandbox Code Playgroud)

java twitter twitter4j

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