好的,我有一个RootViewController.m并在那里定义了一个方法:
-(void)doSomethingParent
{
NSLog(@"Parent is doing something after child has asked");
}
Run Code Online (Sandbox Code Playgroud)
然后我添加了一个childViewController.view,如下所示:
if (self.child == nil) {
ChildViewController *cvc = [[ChildViewController alloc]
initWithNibName:nil bundle:nil];
self.child = cvc;
[cvc release];
}
[self.view insertSubview: child.view atIndex:0];
Run Code Online (Sandbox Code Playgroud)
现在,我认为如果我可以从孩子那里调用我的doSomethingParent方法,那将非常有用.所以我想我会这样做:
@implementation ChildViewController
@class RootViewController;
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[super doSomethingParent];
}
Run Code Online (Sandbox Code Playgroud)
但是xCode告诉我"找不到-doSomethingParent"......但我把@class放在那里?!不应该找到它吗?我不想导入整个东西,因为我认为@class足以让孩子知道父母有一个名为doSomethingParent的方法...
我会非常感谢任何建议.提前致谢!
iphone model-view-controller cocoa-touch objective-c parent-child
我在UITextView中尝试计算返回(\n)时遇到了麻烦.正如你很快就会意识到的那样,我是一个血腥的初学者,这是我对你所提出的理论的理论,但是存在很多差距......
- (IBAction)countReturns:(id)sender {
int returns;
while ((textView = getchar()) != endOfString [if there is such a thing?])
{
if (textView = getchar()) == '\n') {
returns++;
}
}
NSString *newText = [[NSString alloc] initWithFormat:@"Number of returns: %d", returns];
numberReturns.text = newText;
[newText release];
}
Run Code Online (Sandbox Code Playgroud)
我在这里检查了其他问题,但人们通常(在我看来)丢失了一些我不明白的细节.任何帮助将非常感谢!谢谢你的耐心.
我有一个NSMutable数组,并试图找到该数组中最后一个对象的索引号.我尝试过这个,但感觉很麻烦:
int currentCount = [[[self.myLibrary objectAtIndex:currentNoteBookNumber] tabColours] count];
NSLog(@"Number of tab colours total: %i", currentCount);
NSLog(@"Index number of last object: %i", currentCount-1);
Run Code Online (Sandbox Code Playgroud)
还有另一种方法吗?我的问题的上下文是我需要确定最后一个对象才能更改它:
replaceObjectAtIndex:[last object] withObject: ...
Run Code Online (Sandbox Code Playgroud)
谢谢!
对不起,初学者的问题:
我创建了一个UILabel的实例,并希望将此UILabel的副本添加到4个不同的视图中.我尝试了下面的代码,但它不会工作,因为我将UILabel分配给一个视图然后将其分配给下一个 - 这导致UILabel从第一个视图中删除.这继续,所以我最终将UILabel分配给最后一个视图:
UILabel *titleTitle = [[[UILabel alloc] initWithFrame:CGRectMake(120, -48, 100, 28)] autorelease];
titleTitle.text = @"Index";
titleTitle.textColor = [UIColor blackColor];
titleTitle.backgroundColor = [UIColor clearColor];
titleTitle.font = [UIFont fontWithName:@"Ballpark" size:25.0f];
[indexView addSubview:titleTitle];
[indexView2 addSubview:titleTitle];
[indexView3 addSubview:titleTitle];
[indexView4 addSubview:titleTitle];
Run Code Online (Sandbox Code Playgroud)
如何设置将UILabel的副本分配给我的视图?