我试图在ios中使用c做一个简单的例子。我已经编写了以下代码来呈现一个视图。它工作正常。但问题是我想传递直接文本设置到UILabel我创造了对象。
BOOL AppDel_didFinishLaunching(struct AppDel *self, SEL _cmd, void *application, void *options)
{
self->window = objc_msgSend(objc_getClass("UIWindow"), sel_getUid("alloc"));
self->window = objc_msgSend(self->window, sel_getUid("initWithFrame:"), (struct CGRect) { 0, 0, 320, 480 });
id viewController = objc_msgSend(objc_msgSend(objc_getClass("UIViewController"), sel_getUid("alloc")), sel_getUid("init"));
id view = objc_msgSend(objc_msgSend(objc_getClass("View"), sel_getUid("alloc")), sel_getUid("initWithFrame:"), (struct CGRect) { 0, 0, 320, 480 });
id label=objc_msgSend(objc_msgSend(objc_getClass("UILabel"), sel_getUid("alloc")), sel_getUid("initWithFrame:"),(struct CGRect){20,20,200,30});
objc_msgSend(label, sel_getUid("setBackgroundColor:"),objc_msgSend(objc_getClass("UIColor"), sel_getUid("greenColor")));
objc_msgSend(label, sel_getUid("setText:"),?); //here how to set text by direct string?
objc_msgSend(view, sel_getUid("addSubview:"),label);
objc_msgSend(objc_msgSend(viewController, sel_getUid("view")), sel_getUid("addSubview:"), view);
objc_msgSend(self->window, sel_getUid("setRootViewController:"), viewController);
objc_msgSend(self->window, sel_getUid("makeKeyAndVisible"));
return YES;
}
objc_msgSend(label,sel_getUid(“setText:”),?); //在这一行我必须传递字符串。
你知道吗? 谢谢!答案 0 :(得分:1)
objc_msgSend(label, sel_getUid("setText:"),CFSTR("This is my string."));