首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在objc_msgSend()中将直接字符串作为参数传递?

如何在objc_msgSend()中将直接字符串作为参数传递?
EN

Stack Overflow用户
提问于 2013-02-18 04:38:53
回答 1查看 473关注 0票数 0

我试图使用ios.And中的c语言做一个简单的例子,我编写了下面的代码来表示一个view.It是工作的fine.But,问题是我想将直接文本传递给我创建了对象的UILabel。

代码语言:javascript
复制
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(标签,sel_getUid("setText:"),?);//在这一行中,我必须传递字符串.

你知不知道?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-18 05:14:48

代码语言:javascript
复制
objc_msgSend(label, sel_getUid("setText:"),CFSTR("This is my string."));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14929567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档