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,但键盘没有出现.
我有几个中型Rails应用程序,我经常工作,只有其中一个有任何单元测试.但我已经看到了光明,我想要改变所有这些,除了......我没有时间进入并开始逐类编写测试或类似的东西.
你如何开始在有限的时间内在现有的和工作的代码库上编写单元测试?例如,由于任何方法都必须是增量的,您如何订购单元测试?从肤浅的测试开始,然后继续进行更多的覆盖,或仅涵盖几个类......等等.
注意:我正在考虑这个问题考虑Rails,但我真的很感兴趣它适用于任何语言.
编辑:注意,这个问题与其他问题不一样.另一个人问这有多难,结果值得.我问的是如何添加单元测试.
我无法理解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).我应该如何传递通过的值...?
我希望在运行Java程序时看到Eclipse正在运行的命令.我查看了运行/调试(和控制台)的Eclipse首选项和运行配置,但无济于事.如何查看Eclipse用于启动的行?
在JBuilder中,它是输出中的第一行.
编辑:我不是在问它是否javac用于编译然后java运行.我希望看到以#开头java并拥有所有标志等的行.我不是在问"Eclipse运行的是什么?" 因为我已经知道了.我希望在特定项目的特定情况下看到它.
感谢这篇文章和现在内置的静态库模板,我能够将我项目的一些部分放在其他地方.一切都没有警告编译,运行良好.但是,我曾经在import语句中获取类别的自动完成功能.这已不再发生.如何在静态库中获取类别的自动完成功能?
在Objective-C中进行了几个月的编码后,我完全理解我何时需要一个#import,如何使用import语句级联(ripple?),以及何时使用转发类.我不知道如何聚合导入以获取它们<>而不是引号(尽管可能只是框架)...
问题是我弄得一团糟.我来自Java(以及苛刻的IDE),所以我只是添加我认为合适的导入.有时我会将它们添加到界面中,但由于通常没有必要,我只是将它们添加到问题的顶部.m.
今天我开始思考:必须有一些关于如何组织这些东西的经验法则.事实上,由于Objective-C是一个C超集,所以一切都有经验法则,但我不知道它们.我该如何组织进口?尤其:
.m什么时候应该进口?.h什么时候应该进口?.h仅为了导入文件而创建文件(即,只有导入文件的头文件)?如果是这样,任何有关组织的提示?这只是我想弄清楚的一般概念.
如果我创建一个提交,git stash create whatever我得到提交的哈希,但我找不到提交哈希git reflog.
git log stash也不起作用git stash list.
如何列出我创建的提交git stash create?
众所周知,Apple不会在iPhone上提供自动垃圾收集以延长电池寿命.然而据报道,MonoTouch应用程序在iPhone上完美运行(许多通过AppStore销售,因此得到Apple批准),确实有自动垃圾收集功能.
retain/release东西?编辑:如果您对#1的回答是"是"而您对#2的回答是"否",为什么?
历史编辑:应该注意的是,Apple决定采用不同的iOS 5.0路线并实施ARC(同时允许针对相同SDK编译的代码也可以在iOS 4.x上运行).
我想要一个随机的颜色.我用蛮力做到了,但这种方法看起来过于费力(尽管分布非常均匀):
- (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) 我已经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 ×4
objective-c ×4
xcode ×2
algorithm ×1
cocoa-touch ×1
delegates ×1
eclipse ×1
git ×1
java ×1
self ×1
tdd ×1
uitextfield ×1
unit-testing ×1
xamarin.ios ×1