小编Gui*_*oMB的帖子

Python是否对字符串进行逐个引用?

我想知道我什么时候做的事情

a = "This could be a very large string..."
b = a[:10]
Run Code Online (Sandbox Code Playgroud)

创建一个新字符串或返回一个视图/迭代器

python string

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

如何检查是否使用selenium触发了HTML5验证?

如果使用Selenium测试我的webapp.webapp中的所有表单验证都是使用HTML5表单验证完成的.有没有办法断言是否使用Selenium触发了表单/输入验证?

html5 selenium

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

Objective-C#define指令被妖魔化为String常量

我在几篇文章和Apple的代码指南中读到,在Objective-C String常量中应该定义为extern,NSString *const MY_CONSTANT;并且应该避免使用#define指令.这是为什么?我知道它#define是在预编译时运行但所有字符串将共享相同的内存地址.我读到的唯一优势是,如果必须更新或更改常量,则不必重新编译整个项目.这就是为什么应该避免#define的原因?

谢谢

更新:在这种情况下使用#define还是有好办法还是有更好的方法?

/* Constants Definition */
#define SERVER_URL @"http://subdomain.domain.edu.ar/Folder/"
NSString *const ServerURL = SERVER_URL;
NSString *const LoginURL = SERVER_URL@"welcome.asp";
NSString *const CommandURL = SERVER_URL@"com.asp";
Run Code Online (Sandbox Code Playgroud)

cocoa objective-c

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

使用包含ObjC对象的C结构?

我在objc中使用C结构,并且我创建了一个函数来组装结构,就像Cocoa API中的结构一样.事情是这个结构不像NSRect那么NSPoint这个结构打包objc对象soo我在这里看到了潜在的内存泄漏.我是否需要提供"释放"结构的功能?

我没有创建一个ISKNewsCategory类,因为没有行为,但你认为这是一个好方法还是我应该定义类甚至不会有行为?

typedef struct ISK_NewsCategory {
    NSString *name;
    NSString *code
} ISKNewsCategory;

NS_INLINE ISKNewsCategory ISKMakeNewsCategory(NSString *name, NSString *code) {
    ISKNewsCategory category;
    category.name = [name retain];
    category.code = [code retain];
    return category;
}
Run Code Online (Sandbox Code Playgroud)

objective-c

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

Objective-C程序中的C风格太多了?

嗨,我正在写这个问题,因为我是ObjC的新手,在尝试制作拳头训练应用程序时,我想到了很多疑问.问题是我在C方面有很强的背景,去年我一直用Java编程,而且我用Smalltalk做了一些拼贴画(我这是因为那些是我的编程参考资料,而那些是我的语言' m比较ObjC).

我遇到的第一个问题是我不知道在ObjC和C之间画一条线的位置,例如在处理数学运算时,我应该使用math.h还是有更多像你这样的"对象方式"可以用Smalltalk(aNumber raiseTo:3)吗?C中没有背景的人如何学习ObjC?

我找不到的另一件事是集合的协议(我查看了Apple提供的Foundation Framework文档).因为我想实现一个expresion树类,我想知道是否有所有集合应该实现的方法(比如在Smalltalk或Java中),或者我需要手动检查每个集合,看看我的新集合是否应该有一个很酷的方法有.

我不知道我是不是太傻了,或者我正在寻找语言/框架没有的功能.我想在ObjC中编写ObjC风格,不考虑C,Java或Smalltalk.

对不起,如果问题太长了.

cocoa objective-c

7
推荐指数
3
解决办法
402
查看次数

获取参数化类参数的类型?

我有以下课程

public class MyClass<T> {
    public Class<T> getDomainClass() {
          GET THE CLASS OF T
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经google了这个问题,我找到的所有答案都告诉我使用getGenericSuperClass(),但这个方法的问题是我必须有第二个类扩展MyClass而我不想这样做.我需要的是获得具体类的参数化类型?

java generics reflection

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

有没有办法使用Maven + Static Libraries for iPhone依赖?

我知道您可以使用静态库来管理iOS应用程序的依赖项.但有没有办法使用maven来管理依赖项.我希望有一个中央存储库,供几个iOS项目共享静态库,我想使用maven来处理依赖项?

iphone dependencies static-libraries maven ios

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

是否可以将@PrePersist和@PreUpdate与eBean和Play一起使用!2.0?

我想知道是否有可能使用@PrePersist,并@PreUpdateEbean玩吧!2.0.如果是这样,该功能如何激活.我已经看到一个月前有一个拉取请求添加此功能,但我无法在Play 2.0上进行此操作.

谢谢

playframework ebean playframework-2.0

7
推荐指数
2
解决办法
2624
查看次数

MVVM,依赖注入和太多构造函数参数

我使用MVVM和依赖注入进行了几个月的iOS开发,我对结果非常满意.代码非常清晰,更容易测试.但我一直在解决一个问题,我没有找到一个我觉得非常舒服的解决方案.

为了理解这个问题,我想给你一些上下文.我工作的最后一个应用程序是按以下方式/层构建的:

  • 模型
  • 查看模型
  • 查看/查看控制器
  • 服务:知道如何处理Twitter,Facebook等外部服务的类.
  • 存储库:存储库是一个知道如何与应用程序的REST API资源交互的类.可以说我们有一个博客应用程序,我们可以拥有用户资源和帖子资源.每种资源都有几种方法.资源和存储库之间存在一对一的关系.

当应用程序启动时,我们有一个Bootstrap类,用于初始化应用程序并创建主视图模型.我们有一个限制,即只有视图模型才能创建其他视图模型.例如,在具有包含元素列表的视图的情况下(在iOS中它将用UITableView表示)和每个thoses元素的详细视图,通过在点击元素后将其推送到导航堆栈来呈现在列表中.我们所做的是使附加到表视图控制器的视图模型创建详细视图模型.表视图控制器侦听表视图模型,然后通过创建详细视图控制器并将其视图模型传递给它来呈现详细视图模型.因此视图控制器不知道如何创建视图模型,它只知道如何为该视图模型创建视图控制器.

父视图模型的责任是将所有依赖项传递给子视图模型.

当视图层次中非常深的视图模型需要其父控制器不需要的依赖项时,就会出现问题.例如,访问某些外部Web服务的服务.因为它的父项没有那个依赖项,所以它必须将它添加到它的依赖列表中,从而为构造函数添加一个新参数.想象一下,如果祖父母也不具备这种依赖性,情况会怎样.

您认为什么是好的解决方案?可能的解决方案:

  • 单身人士:更难测试,他们基本上是全球状态
  • 工厂类:我们可以使用一组知道如何创建某些类型对象的工厂.例如ServiceFactory和RepositoryFactory.服务工厂可以使用方法来创建服务,例如:TwitterService,FacebookService,GithubService.存储库工厂可以知道如何为每个API资源创建存储库.在拥有少数工厂(2或3)的情况下,所有视图模型都可能依赖于这些工厂.

目前我们选择了工厂级解决方案,因为我们不需要使用单件,我们可以将工厂视为任何其他依赖性,这使得它相对容易测试.问题是,它有点像一个好的对象,并且通过拥有一个工厂,你实际上并不知道哪个是需要视图模型的真正依赖,除非你查看构造函数的实现来检查调用哪些工厂方法.

dependency-injection mvvm ios

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

NSNotificationCenter与ReactiveCocoa 3和Swift的正确使用是什么?

我正在玩ReactiveCocoa 3和Swift,我决定做一个简单的玩具应用程序来测试如何使用实现MVVM模式的ReactiveCocoa 3设计应用程序.

基本的工作人员工作得很好,但我不确定处理通知中心创建的信号的最佳方法是什么.

让我们说有人在应用程序的某个地方触发通知.通知被命名,TimerNotification并且Int在密钥可访问的用户信息字典内具有时间对象TimerCount.现在假设我有一个控制器,想要在每次TimerNotification触发时打印一条消息.

在旧的ObjC/RAC 2天里,我会做这样的事情

- (void)viewDidLoad {
  NSNotificationCenter * notificationCenter = [NSNotificationCenter defaultCenter];
  RACSignal * timerSignal = [[notificationCenter rac_addObserverForNotificationName:@"TimerNotification" object:nil] 
    takeUntil:self.rac_willDeallocSignal];
  [timerSignal subscribeNext:^(NSNotification * notification){
    NSValue * timerCount = notification.userInfo[@"TimerCount"];
    NSLog(@"Timer count is %@", timerCount);
  }];
}
Run Code Online (Sandbox Code Playgroud)

这将确保当控制器被解除分配时,将处理订阅.

我第一次尝试在Swift/RAC 3世界中做类似的事情是

private func createTimerSignalProducer() -> SignalProducer<Int, NoError> {
  let notificationCenter = NSNotificationCenter.defaultCenter()
  let deallocSignalProducer = self.rac_willDeallocSignal().toSignalProducer()
      |> map { _ in () }
      |> catch { _ in SignalProducer.empty as …
Run Code Online (Sandbox Code Playgroud)

nsnotificationcenter ios reactive-cocoa swift

7
推荐指数
0
解决办法
1172
查看次数