小编Rob*_*Rob的帖子

iPhone - 检测UITableViewCell子视图的触摸

我正在使用包含UIImageView子视图的单元格填充UITableView.我想检测图像视图上的触摸,所以我也添加了一个手势识别器.然而,没有任何东西被称为.这是我的代码:

UIImageView *delete = [[UIImageView alloc] initWithFrame:CGRectMake(1.0, 8.0, 33.0, 33.0)];
delete.image = [UIImage imageNamed:@"Delete.png"];
delete.userInteractionEnabled = YES;
delete.contentMode = UIViewContentModeCenter;

UIGestureRecognizer *gesture = [[UIGestureRecognizer alloc] initWithTarget:self action:@selector(deleteTapped)];
gesture.delegate = self;

[delete addGestureRecognizer:gesture];
[self.cellView addSubview:delete];
Run Code Online (Sandbox Code Playgroud)

注意:我在技术上将图像视图添加到容器中,然后将其添加到单元格本身[self.cellView addSubview:delete].但我有相同的结果直接将图像视图添加到单元格.

根据类似帖子的这个答案,这是iOS 5.0中的一个已知错误; 解决方案是覆盖委托方法以强制手势识别器开始:

修复是在手势识别器的委托中覆盖-gestureRecognizerShouldBegin:并返回YES.应该在iOS 5.x的未来版本中修复此错误.只要您没有使用新的UITableViewCell复制/粘贴API,这只是安全的.

我试过这个,但委托方法永远不会被调用.我已经设置了delegate属性(见上文)并实现<UIGestureRecognizerDelegate>如下:

- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
{
    NSLog(@"gesture delegate method called");
    return YES;
}
Run Code Online (Sandbox Code Playgroud)

有没有人知道为什么这仍然不起作用?或者也许iOS 5.1中这个bug的状态是什么?

iphone uitableview uigesturerecognizer ios

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

SQLAlchemy 中的整数字段不会自动递增

I have a Flask-SQLAlchemy model with an Integer field that I'd like to autoincrement. It's not a primary key; it's a surrogate ID. The model looks like:

class StreetSegment(db.Model):
    id = db.Column(db.Integer, autoincrement=True)
    seg_id = db.Column(db.Integer, primary_key=True)
Run Code Online (Sandbox Code Playgroud)

When I create the table in my Postgres database, the id field is created as a plain integer. If I insert rows without specifying a value for id, it doesn't get populated. Is there some way I can force SQLAlchemy to use …

python postgresql sqlalchemy flask-sqlalchemy

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

PDO_ODBC:未找到数据源名称且未指定默认驱动程序

我正在尝试通过PDO_ODBC访问PHP中的ODBC连接.这是我的代码:

$db = new PDO('odbc:MyDSN', '', '');

我收到这个错误:

SQLSTATE [IM002] SQLConnect:0 [Microsoft] [ODBC驱动程序管理器]未找到数据源名称且未指定默认驱动程序

我知道DSN正在运行,因为我可以在Python中使用pyodbc.类型是用户DSN - 是否需要是系统DSN?我没有指定驱动程序,因为我认为ODBC正在抽象,但也许我需要?如果有帮助,底层数据库是Oracle.

谢谢!

php odbc pdo

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

Python回车不起作用

我有一个长时间运行的脚本循环数据库中的行.我经常想要打印它处理的行数,但每次都不创建新行.这基本上就是我所拥有的:

import sys
mystr = "{} rows complete\r"

for i in range(0, 100):
    if i % 10 == 0:
        sys.stdout.write(mystr.format(i))
        sys.stdout.flush()
Run Code Online (Sandbox Code Playgroud)

当我运行它(在Python 2.7.5 64位,Windows上)时,我得到:

0 rows complete
10 rows complete
20 rows complete
...
100 rows complete
Run Code Online (Sandbox Code Playgroud)

谁能想到为什么回车不起作用?我在这里看到了一些关于Python的类似问题\r,但所有的答案都说包含了sys.stdout.flush(),我有.

python stdout

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

获取对Vue子元素的引用

我有一个Vue.js组件,模板看起来像:

<template>
  <div>
    <div class="map" />
    <div class="something-else" />
  </div>
</template>
Run Code Online (Sandbox Code Playgroud)

<script>我想要获得带有类的元素的引用的部分中map.我知道你可以this.$el用来引用最外面的元素,但是我如何选择它的一个子元素呢?我不希望将CSS类用作选择器,因为可能有许多此组件的实例都具有相同的类.

我的用例是我需要将一个DOM元素传递给Leaflet 的构造函数,这是一个映射库.

javascript vue.js

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

在另一个端口上运行 AWS SAM Local

我已经成功地使用以下命令在我的机器上的端口 3000 上运行 AWS SAM Local:

sam local start-api
Run Code Online (Sandbox Code Playgroud)

文档说有一个标志-d可以在不同的端口上以调试模式运行服务器。我需要在端口 8080 上运行它。所以我尝试了这个:

sam local start-api -d 8080
Run Code Online (Sandbox Code Playgroud)

并且服务器仍然在 3000 上启动:

Mounting api.get_account (python3.6) at http://127.0.0.1:3000/account/{account_num} [GET]
Run Code Online (Sandbox Code Playgroud)

有谁知道我在这里做错了什么?谢谢!

amazon-web-services aws-sam-cli

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

如何从 Python 中的字符串中删除换行符和缩进?

在我的 Python 脚本中,我有一个永远持续下去的 SQL 语句,如下所示:

query = """
    SELECT * FROM
        many_many
        tables
    WHERE
        this = that,
        a_bunch_of = other_conditions
"""
Run Code Online (Sandbox Code Playgroud)

让它像单行一样阅读的最佳方法是什么?我试过这个:

def formattedQuery(query):
    lines = query.split('\n')

    for line in lines:
        line = line.lstrip()
        line = line.rstrip()

    return ' '.join(lines)
Run Code Online (Sandbox Code Playgroud)

它确实从缩进中删除了换行符,但没有删除空格。请帮忙!

python string

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

Obj-C函数声明需要分号吗?

这很简单,但让我疯狂.

我试图在Objective-C代码中实现一个简单的函数.当我写这个,

NSInteger Sort_Function(id id1, id id2, void *context) {

}
Run Code Online (Sandbox Code Playgroud)

我得到一个错误,在声明结束时预计会出现分号.但是,我在很多很多例子中都看到过这种语法.我怎么可能做错了?如果重要,这是一个iOS应用程序,该函数嵌套在if子句中.提前致谢.

function objective-c

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

Objective-C单例只响应类方法

我有一个单例类,实例化如下:

#import "FavoritesManager.h"

static FavoritesManager *sharedFavoritesManager = nil;

@implementation FavoritesManager

+ (id)sharedManager {
    @synchronized(self) {
        if (sharedFavoritesManager == nil) {
            sharedFavoritesManager = [[self alloc] init];
        }
    }

    return self;
}
Run Code Online (Sandbox Code Playgroud)

这会返回一个对象,但由于某种原因它只会响应类方法.如果我调用实例方法,我会得到

+[FavoritesManager testMethod]: unrecognized selector sent to class 0x59198
Run Code Online (Sandbox Code Playgroud)

对于它的价值,这就是testMethod的样子:

- (void)testMethod {
    NSLog(@"Test");
}
Run Code Online (Sandbox Code Playgroud)

我绝对肯定它在界面中声明.我在其他类中使用了这个确切的代码,它就像一个魅力,所以我真的不明白这里的问题是什么.有一点可疑的是加号+[FavoritesManager testMethod],但我无法解释.有任何想法吗?

编辑:我混淆了公共/私人和类/方法术语.感谢所有指出这一点的人.

iphone singleton objective-c ios

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