小编Dan*_*ark的帖子

self.delegate = self; 这样做有什么不对?

self.delegate = self; 这样做有什么不对?这样做的正确方法是什么?

谢谢,Nir.

码:

(UITextField*)initWith:(id)sender:(float)X:(float)Y:(float)width:(float)hieght:(int)textFieldTag { 
    if (self = [super initWithFrame:CGRectMake(X, Y,width, hieght)]) {
        finalText = [[NSMutableString alloc] initWithString:@""];
        senderObject = sender;
        self.textColor = [UIColor blackColor]; 
        self.font = [UIFont systemFontOfSize:17.0]; 
        self.backgroundColor = [UIColor whiteColor]; 
        self.autocorrectionType = UITextAutocorrectionTypeNo;   
        self.keyboardType = UIKeyboardTypeDefault;     
        self.returnKeyType = UIReturnKeyDone; 
        self.clearButtonMode = UITextFieldViewModeWhileEditing;    
        self.tag = textFieldTag;        
        self.delegate = self;    
        [sender addSubview:self];
    }
    return self;
} 
Run Code Online (Sandbox Code Playgroud)

注意:这是一个文本字段,当我将委托设置为另一个对象(self.delegate = mainView)时,一切正常,但是我将不得不在mainView中实现委托方法,我想将它们放入self(我创建的uiTextField类).如果我设置self.delegate = self,我会得到一个textField,但键盘没有出现.

iphone delegates self uitextfield

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

在有限时间内对工作代码库进行单元测试:如何?

我有几个中型Rails应用程序,我经常工作,只有其中一个有任何单元测试.但我已经看到了光明,我想要改变所有这些,除了......我没有时间进入并开始逐类编写测试或类似的东西.

你如何开始在有限的时间内在现有的和工作的代码库上编写单元测试?例如,由于任何方法都必须是增量的,您如何订购单元测试?从肤浅的测试开始,然后继续进行更多的覆盖,或仅涵盖几个类......等等.

注意:我正在考虑这个问题考虑Rails,但我真的很感兴趣它适用于任何语言.

编辑:注意,这个问题与其他问题不一样.另一个人问这有多难,结果值得.我问的是如何添加单元测试.

tdd unit-testing

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

如何使用va_args传递参数(可变参数,省略号)

我无法理解Objective-C中多个参数的语法.我已经看到了这个问题,但答案并没有帮助我(还).

这是我的代码(实际上我希望最终传递给NSString stringWithFormat,但是让NSLog工作现在已经足够了):

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
     // Insert code here to initialize your application 
     [self log:@"blah blah %d", 32];
}


- (void)log:(NSString *)text, ... {
      va_list args;
      va_start(args, text);
      NSLog(text, args);
}
Run Code Online (Sandbox Code Playgroud)

参数(或一些参数)通过,但它有一些奇怪的值(输出是blah blah 1606412704).我应该如何传递通过的值...

objective-c

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

Eclipse命令行Java

我希望在运行Java程序时看到Eclipse正在运行的命令.我查看了运行/调试(和控制台)的Eclipse首选项和运行配置,但无济于事.如何查看Eclipse用于启动的行?

在JBuilder中,它是输出中的第一行.

编辑:我不是在问它是否javac用于编译然后java运行.我希望看到以#开头java并拥有所有标志等的行.我不是在问"Eclipse运行的是什么?" 因为我已经知道了.我希望在特定项目的特定情况下看到它.

java eclipse

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

静态库中的类别/接口不自动完成?

感谢这篇文章和现在内置的静态库模板,我能够将我项目的一些部分放在其他地方.一切都没有警告编译,运行良好.但是,我曾经在import语句中获取类别的自动完成功能.这已不再发生.如何在静态库中获取类别的自动完成功能?

iphone xcode objective-c

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

为Objective-C/XCode组织#import语句

在Objective-C中进行了几个月的编码后,我完全理解我何时需要一个#import,如何使用import语句级联(ripple?),以及何时使用转发类.我知道如何聚合导入以获取它们<>而不是引号(尽管可能只是框架)...

问题是我弄得一团糟.我来自Java(以及苛刻的IDE),所以我只是添加我认为合适的导入.有时我会将它们添加到界面中,但由于通常没有必要,我只是将它们添加到问题的顶部.m.

今天我开始思考:必须有一些关于如何组织这些东西的经验法则.事实上,由于Objective-C是一个C超集,所以一切都有经验法则,但我不知道它们.我该如何组织进口?尤其:

  • .m什么时候应该进口?
  • .h什么时候应该进口?
  • 我是否应该.h仅为了导入文件而创建文件(即,只有导入文件的头文件)?如果是这样,任何有关组织的提示?

这只是我想弄清楚的一般概念.

xcode objective-c

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

"git stash create x" - 它在哪里?

如果我创建一个提交,git stash create whatever我得到提交的哈希,但我找不到提交哈希git reflog.

git log stash也不起作用git stash list.

如何列出我创建的提交git stash create

git

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

iPhone,没有垃圾收集:MonoTouch怎么样?

众所周知,Apple不会在iPhone上提供自动垃圾收集以延长电池寿命.然而据报道,MonoTouch应用程序在iPhone上完美运行(许多通过AppStore销售,因此得到Apple批准),确实有自动垃圾收集功能.

  1. 这是自动垃圾收集,还是MonoTouch只管理所有的retain/release东西?
  2. 如果是自动垃圾收集,那不就是电池耗尽吗?

编辑:如果您对#1的回答是"是"而您对#2的回答是"否",为什么?

历史编辑:应该注意的是,Apple决定采用不同的iOS 5.0路线并实施ARC(同时允许针对相同SDK编译的代码也可以在iOS 4.x上运行).

iphone garbage-collection xamarin.ios

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

getRandomColor但避免暗色:帮助我的算法

我想要一个随机的颜色.我用蛮力做到了,但这种方法看起来过于费力(尽管分布非常均匀):

- (UIColor *) getRandomColor {
 // GOAL: reject colors that are too dark
 float total = 3;
 float one = arc4random() % 256 / 256.0;
 total -= one;
 float two = arc4random() % 256 / 256.0;
 total -= two;
 float three = total; // UIColor will chop out-of-range nums

 NSMutableArray *threeFloats = [[[NSMutableArray alloc] initWithObjects:[NSNumber numberWithFloat:one], [NSNumber numberWithFloat:two], [NSNumber numberWithFloat:three], nil] autorelease];

 NSNumber *red, *green, *blue;
 red = [threeFloats objectAtIndex:arc4random() % [threeFloats count]];
 [threeFloats removeObject:red];
 green = [threeFloats objectAtIndex:arc4random() …
Run Code Online (Sandbox Code Playgroud)

algorithm cocoa-touch objective-c

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

在UIView中只有白色填充颜色是透明的

我已经UIView设置了一个opaque = NO并且一切正常.在drawRect我正在做自定义绘图,这是有效的

CGContextSetFillColor(context, CGColorGetComponents([UIColor blueColor].CGColor)); 
CGContextFillRect(context, labelOutside);
CGContextAddRect(context, labelOutside);
Run Code Online (Sandbox Code Playgroud)

但是这个

CGContextSetFillColor(context, CGColorGetComponents([UIColor whiteColor].CGColor)); 
CGContextFillRect(context, labelOutside);
CGContextAddRect(context, labelOutside);
Run Code Online (Sandbox Code Playgroud)

结果是没有填充(你甚至可以通过它看到我在CGContext上绘制的其他东西).我怎样才能画出白色填充物?

注意:如果我设置控件不是不透明的,它仍然不起作用.

iphone core-graphics

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