小编Mat*_*ers的帖子

TTTAttributedLabel链接正在设置样式但不可点击

我一直在研究获得可点击链接的解决方案.我可以在使用UITextView + NSAttributedString时使用它,但当它是UITableViewCell时它不会正确地自动布局.

现在我已经将TTTAttributedLabel添加到我的项目中,它完美地调整了视图的样式.链接也变为蓝色并加下划线.

但是点击它们什么都不做.我确实在我的控制器上实现了TTTAttributedLabelDelegate,在故事板中实现了标签实现MyLabel(它只是扩展了TTTAttributedLabel并具有委托选项,因为我希望它们在同一个函数中触发).现在我已经将控制器设置为我认为可能无法指向自身的委托.

但这些功能都没有被解雇,我得到了断点并登录了它.

我实现了didSelectLinkWithUrl和didLongPressLinkWithUrl.

 func attributedLabel(label: TTTAttributedLabel!, didSelectLinkWithURL url: NSURL!) {
        Debug.log("link clicked")
    }
    func attributedLabel(label: TTTAttributedLabel!, didLongPressLinkWithURL url: NSURL!, atPoint point: CGPoint) {
        Debug.log("link long clicked")
    }
Run Code Online (Sandbox Code Playgroud)

出口

@IBOutlet weak var content: MyLabel!
Run Code Online (Sandbox Code Playgroud)

MyLabel

导入UIKit导入TTTAttributedLabel

class MyLabel : TTTAttributedLabel, TTTAttributedLabelDelegate {

override func didMoveToSuperview() {
    if (self.delegate == nil) {
        self.delegate = self
    }
    self.enabledTextCheckingTypes = NSTextCheckingType.Link.rawValue
    self.userInteractionEnabled = true
}

func attributedLabel(label: TTTAttributedLabel!, didSelectLinkWithURL url: NSURL!) {
    Debug.log("link clicked")
}
func attributedLabel(label: TTTAttributedLabel!, didLongPressLinkWithURL url: …
Run Code Online (Sandbox Code Playgroud)

hyperlink ios tttattributedlabel swift

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

如何使用Mockito和jUnit模拟持久化和实体

我正试图找到一种方法来测试我的实体使用Mockito;

这是一个简单的测试方法:

@Mock
private EntityManager em;

@Test
public void persistArticleWithValidArticleSetsArticleId() {
    Article article = new Article();
    em.persist(article);
    assertThat(article.getId(), is(not(0L)));
}
Run Code Online (Sandbox Code Playgroud)

如何最好地模拟EntityManager将Id从0L更改为1L的行为?可能性最小的可读性障碍.

编辑:一些额外的信息; 在测试范围之外,EntityManager由应用程序容器生成

java junit hamcrest mockito

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

配置cordova的构建风格

嗨,这个问题很可能只是一个科尔多瓦问题.我见过类似的问题,但从来没有得到满意的答案.

我的最终目标是,一种简单的方法来构建Android,iOS和Windows Phone应用程序的多个Flavors.

我最大的要求是:

  • 更改命名空间.因此,config.xml中的窗口小部件属性最好被覆盖.名称和描述也会有所帮助.
  • 生成不同的图标和启动画面.我可能会设置与我正在使用的包名相关的目录.在此处放置高分辨率Splash和Icon,使用ionic的resources命令生成正确的文件.
  • 配色方案根据目标而变化
  • 可选地,动态配置.

我目前所做的是在我的webpack.config中添加一些代码(我的离子项目使用webpack).要改变sass颜色,我也可以在这里轻松添加其他选项.

这可能是实现它的最糟糕方式,但我只需要一个工作原型

var flavour = "some.namespace.dir";
var ENV = "TEST";

for(var i = 0; i < args.length ; i++) {
    if (args[i] == "--env") {
        if (args[i+1]) {
            ENV = args[i+1];
        }
    }

    if (args[i] == "--flavour") {
        if (args[i+1]) {
            flavour = args[i+1];
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

因此,这将检查node命令是否有任何--flavour或--env标志来设置这些属性.在此之后,我将以愚蠢的方式加载配置.

var config =
    JSON.parse(
        require('fs').readFileSync(
            require('path').resolve(
                __dirname,
                'flavours/' + flavour + ".json"),
            'utf8'));
Run Code Online (Sandbox Code Playgroud)

好吧,所以我有一个json对象,我几乎可以在这里放任何东西,所以为了做自定义样式,我们可以使用sass加载器.

sassLoader: {
    includePaths: [
        'node_modules/ionic-angular',
        'node_modules/ionicons/dist/scss'
    ],
    data: "$custom-primary: " …
Run Code Online (Sandbox Code Playgroud)

xml bash cordova ionic2

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

OverrideComponent with TestBed

I have MainComponent that uses ChildComponentA as a @ViewChild. MainComponent is calling a method on ChildComponentA.

I want to write an unit test case mocking ChildComponentA. How can I do this using TestBed (in Angular 2 RC5)?

Before I used to use overrideDirective(MainComponentName, ChildComponentA, MockChildComponentA); Is there an equivalent to this using TestBed?

I tried using

TestBed.overrideComponent(ChildComponentA,{
        set: {
          template: '<div></div>'
        }
      }); 
Run Code Online (Sandbox Code Playgroud)

which just sets the template, but I want to mock the methods in …

components overriding testbed angular

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

在更长的时间段和时区存储统计数据

目前,我正在开发一个项目,该项目计算数据并将其按ID存储在分析数据库中.

例如,阅读新闻文章的次数(因此有20个类别的数据存储为整数).

我们将数据存储在以下字段中:int user_id int value_type_id int value datetime datetime

我们使用4个表,x_hour,x_day,x_week,x_month这样我们就不必计算潜在的几千甚至几百万条记录的数据.

需要动态计算数据并通过某些连接进行过滤.这一切都没有问题,并且按照预期并以令人满意的速度工作.

接下来的问题.我们希望数据显示在查看它的用户的时区中,时区并不总是相同的,因为它可以是反对的,例如UTC-5或UTC + 4.

由于我们将日期存储在UTC上,因此如果在午夜前一小时存储活动,则较大的间隔会将其视为昨天,即使它可能在该时区的同一天,因此我们在几天,几周和几个月的时间间隔存在问题.

我已经阅读了解决方案,添加24列来保存每个时区的数据,是否有人有不同的解决方案.

mysql database timezone database-design date

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

具有ISO参数的DateTimeFormat无法正确解析时区

我有这个控制器,我正在尝试使用模拟MVC进行测试

@RequestMapping(value = "/something/{language}", method = RequestMethod.GET, produces = { "application/json", "application/xml" })
    public ResponseEntity<someEntity> getInfo( 
            @PathVariable String language, 
            @DateTimeFormat(iso= DateTimeFormat.ISO.DATE_TIME) @RequestParam(required = false) Date fromDate
    )
Run Code Online (Sandbox Code Playgroud)

因此,我希望允许像文档中的日期格式一样可解析:DATE_TIME最常见的ISO日期时间格式yyyy-MM-dd'T'HH:mm:ss.SSSZ,例如

但是我继续得到这样的东西:

处理程序执行导致异常:无法将类型“ java.lang.String”的值转换为所需的类型“ java.util.Date”;嵌套异常为

org.springframework.core.convert.ConversionFailedException: 
Failed to conv ert from type java.lang.String to type 
@org.springframework.format.annotation.DateTimeFormat 
@org.springframework.web.bind.annotation.RequestParam java.util.Date for value '2015-09-26T01:30:00.000Z'; nested exception is
java.lang.IllegalArgumentException: Unable to parse '2015-09-26T01:30:00.000Z'
Run Code Online (Sandbox Code Playgroud)

据我所知,我没有做错任何事情,这一定是正确的。谁能照亮我的坏处?我认为不需要发布更多代码,因为异常确实显示了我传递给API的正确值,对吗?

java spring datetime datetime-format

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

Angular2路由器CanActivate,带参数?

我在这个具体问题上看到了一些问题.

我最近只处理angular2项目.无论如何我现在正在讨论一个问题.在已弃用的路由器中,我在路由的数据部分添加了用户角色,我已经覆盖了routerOutlet,因此我可以在激活路由之前检查此值).

目前我们可以使用CanActivate类/接口行,我们可以调用它.

现在我希望能够为这样的CanActivate类提供权限(我已经打成了Enum).在我通过访问我的SessionService来检查用户是否已登录之前,我现在需要检查用户是否具有某些权限.

正如我现在所看到的,我必须实现一个新的类,它为每个权限实现CanActivate.现在这意味着我将拥有7.然而,我们处于这个确切项目的早期阶段并且没有太多想到我可以将其提高到11.

我在我之前看到的是一个实现,每个canActivate实现只需要花费大约3-5行.但是,通过我可以提供属性或参数的实现,我会感觉更有帮助.

不要想到我必须实现以下类的情况:

CanActivateIfUserHasPermissionsViewContentAndViewUsers甚至更长.

注意在我的情况下权限基本上是多个动作.比如查看所有内容元素,或者编辑所有内容元素等.

angular-routing angular

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

ionic2视图不更新,代码执行

我已经更新了我的项目和依赖项.每当我第一次渲染页面时,(除了root)它都无法立即生效.

F/e我有一个根页面,这是一个登录表单.每当令牌出现在localStorage中时,这将由发射器提供给登录页面.然后注入的NavController,推送我的主页面,一个TabController.

这不会马上发生,我可以捡起我的鼻子,去卫生间它停留在根页面上.当我实际关注输入时,它只会推送新视图.(当你做错了什么时,当它无法呈现页面时会显示一些黑色并且会出现离子崩溃.

然后在选项卡页面上,第一个选项卡不会渲染,但是当我单击第一个选项卡时,相同的其他选项卡,它们需要被单击两次(标签栏仅在您单击两次时变为活动状态).在此之后,一切正常,但肯定不是我们想要的.这是我所看到的视频.如果您将视频暂停为0.0,则会看到日志状态令牌成功.这就像代码中一样,就在推送之前.启动新页面,在我单击输入之类的元素之前,视图似乎不会更新.

ngOnInit() {
    this.sessionService.subscribe(token => {
        if (token && token.length) {
            console.log("token returned success!", token, this.navController);
            setTimeout( () => { this.navController.push(<any>MainTabs); }, 250 );
        } else {
            console.log("token returned", token);
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

日志中的错误是与浏览器相关的angular2和ionic.

正如你所看到的那样,当Push被触发时没有;看起来应该如此,第一页继续显示一个加载器.一旦加载了内容,它就会消失(加载后我看到了设置值的console.logs触发器).如果我现在点击第一个标签项2次,它会显示内容.我选择单击"Acties"按钮,该按钮呈现第一个选项卡(注意我点击了第三个选项卡).单击第四页将呈现第三页,此后,它们已呈现一次,并按预期单击工作.

奇怪?

ionic2 angular

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

NgModule和FormModule是否在每个模块上导入?

所以我使用的是RC5,当现在拥抱事物时,我遇到了一个问题,即我不确定我做错了什么还是按预期工作了。

在使表格指令等在全球范围内可用之前。如今,我们开始使用NgModule。似乎我无法在AppModule或SharedModule中全局使用FormsModule和ReactiveFormsModule。我需要将其导入我创建的每个模块中。

这是预期的吗?

forms module angular

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

Angular使用HttpClient测试服务对我来说不起作用

我正在开展一个Angular 5项目,这没什么大不了的.虽然我从2.1/2.2早期就已经离开了Angular2 +业务.

所以我有这个调用公共API的服务,但我的测试仍然失败: Error: Expected one matching request for criteria "Match URL: http://api.icndb.com/jokes/random/10", found none.

码:

fact.service.spec.ts

import {HttpClientTestingModule, HttpTestingController} from "@angular/common/http/testing";
import {TestBed, inject} from "@angular/core/testing";
import {FactService} from "./fact.service";
import {Fact} from "../models/fact";
import {FactHttpResponse} from "../models/factHttpResponse";

describe("FactService", () => {
    let factService: FactService;
    let httpMock: HttpTestingController;

    beforeEach(() => {
        TestBed.configureTestingModule({
            imports: [HttpClientTestingModule],
            providers: [FactService],
        });
        httpMock = TestBed.get(HttpTestingController);
        factService =  TestBed.get(FactService);
    });

    // TODO: Something is going wrong with this test get some help online
    it("Should …
Run Code Online (Sandbox Code Playgroud)

typescript angular angular-httpclient

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

使用Nib中的AutoLayout在swift中在UITable上设置自定义HeaderView

嗨,我想知道如何为我实现自定义标题,UITableView并使用它的autolayout进行正确定位.

我现在可以显示单元格,但不应用水平或垂直自动布局.

在我的tableViewController中,我将headerView变量设置为我的自定义nib,如下所示:

@IBOutlet var view: UIView!

override init(frame: CGRect) { // for using CustomView in code
    super.init(frame: frame)
    self.setup()
}

required init(coder aDecoder: NSCoder) { // for using CustomView in IB
    super.init(coder: aDecoder)
    self.setup()
}

private func setup() {
    NSBundle.mainBundle().loadNibNamed("CustomHeader", owner: self, options: nil)
    self.addSubview(view)
}
Run Code Online (Sandbox Code Playgroud)

在视图类中调用:

override init(frame: CGRect) { // for using CustomView in code
    super.init(frame: frame)
    self.setup()
}

required init(coder aDecoder: NSCoder) { // for using CustomView in IB
    super.init(coder: aDecoder)
    self.setup()
}

private …
Run Code Online (Sandbox Code Playgroud)

uitableview ios autolayout swift

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

将Long值解析为Long?

我正在使用一个非常古老的代码库,因此存在大量已弃用或过时的代码.大多数是简单的拳击前.

但是这个问题跟我提出了一个问题:

private java.lang.Long version = Long.valueOf(-1L);
Run Code Online (Sandbox Code Playgroud)

-1L不是已将值定义为Long?这之前有可能吗?

注意这不是-1l而是-1L.

我会理解它是作为-1甚至是写的-1l.有人可以向我解释发生了什么事吗?

java boxing

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