Objective-C NSString 问题 [英] Objective-C NSString Question

查看:70
本文介绍了Objective-C NSString 问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要从函数返回一个 NSString:

NSString myfunc ( int x ){//对 x 做一些事情NSString* myString = [NSString 字符串];myString = @"MYDATA";//NSLog(myString);返回 *myString;}

所以,我调用这个函数并得到 *myString.那是指向数据的指针吗?如何获取数据MYDATA"?

解决方案

我会用下面的方式重写这个函数:

NSString* myfunc( int x ){NSString *myString = @"MYDATA";//用 myString 做一些事情返回我的字符串;}

在 Objective-C 中,更常见的是使用指向对象的指针,而不是对象本身,即在您的示例中使用 NSString*,而不是 NSString.

而且,@"MYDATA" 已经是一个字符串,所以不需要在赋值前分配和初始化 myString.

I need to return a NSString from a function:

NSString myfunc ( int x )
{
    // do something with x  
    NSString* myString = [NSString string];
    myString = @"MYDATA";   
    // NSLog(myString);

    return *myString;       
}

So, I call this function and get *myString. Is that a pointer to the data? How can I get to the data "MYDATA"?

解决方案

I would rewrite this function the following way:

NSString* myfunc( int x )
{
   NSString *myString = @"MYDATA";

   // do something with myString
   return myString;        
}

In Objective-C it is more common to work with pointer to objects, not objects themselves, i.e., in your example with NSString*, not NSString.

Moreover, @"MYDATA" is already a string, so you don't need to allocate and initialize myString before the assignment.

这篇关于Objective-C NSString 问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆