标签: nsstring

如何计算NSString对象中的非字母数字字符数?

我正在深入研究iOS开发,我仍然熟悉NSString对象.我正处于需要计算字符串中非字母数字字符数的位置.我想出的一种方法是从字符串中剥离非字母数字字符,然后从原始字符串的长度中减去剥离字符串的长度,就像这样......

NSCharacterSet *nonalphanumericchars = [[NSCharacterSet alphanumericCharacterSet ] invertedSet];

NSString *trimmedString = [originalString stringByTrimmingCharactersInSet:nonalphanumericchars];

NSInteger numberOfNonAlphanumericChars = [originalString length] - [trimmedString length];
Run Code Online (Sandbox Code Playgroud)

但它不起作用.计数始终为零.如何计算NSString对象中的非字母数字字符数?

非常感谢你的智慧!

iphone nsstring ipad ios

1
推荐指数
1
解决办法
3042
查看次数

将一个NSString复制到另一个NSString

如何将一个NSString复制到另一个?

@interface MyData : NSObject
{
    @private

    //user's private info
    NSInteger uID;
    NSString *name;
    NSString *surname;
    NSString *email;
    NSString *telephone;

    //user's picture
    UIImage *image;
}

@property (nonatomic, assign) int uID;
@property (nonatomic, retain) NSString *name;
@property (nonatomic, retain) NSString *surname;
@property (nonatomic, retain) NSString *email;
@property (nonatomic, retain) NSString *telephone;
@property (nonatomic, retain) UIImage *image;
@end
Run Code Online (Sandbox Code Playgroud)

我有两个这种类型的对象.MyData*obj1,obj2;

首先是初始化.其次我想先用初始化.

obj2 = [obj1 copy];   //crashes

    newData.surname = data.surname;   //crashes to
    newData.email = data.email;
    newData.telephone = data.telephone;
Run Code Online (Sandbox Code Playgroud)

我知道第二个对象的副本没有保留!请帮忙!感谢名单!

iphone copy nsstring copywithzone

1
推荐指数
1
解决办法
2万
查看次数

int stringWithFormat到NSString的返回值

我有一个int currentFontSize,我想与存储在C数组中的NSString进行比较,这里是代码.

int main (int argc, const char * argv[]) {
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

    static NSString* fontSizeName[] = 
    {
        @"14",
        @"18",
        @"22",
        @"26",
        @"30",
        @"34",
    };

    int fontSizeSegmentID;
    int currentFontSize = 22;

    NSString *val = [NSString stringWithFormat: @"%i", currentFontSize];
    NSString *val2 = @"22";
    NSLog(@"the current font size is %i", currentFontSize);
    NSLog(@"the current font Value1 is %i", val);
    NSLog(@"the current font Value2 is %i",val2);
    int i;
    for (i = 0; i < 6; i++) {

        NSLog(@"fontSizeNAme:%d",fontSizeName[i]);
        NSLog(@"val:%d",val); …
Run Code Online (Sandbox Code Playgroud)

objective-c nsstring

1
推荐指数
1
解决办法
1337
查看次数

由于字符串中的unicode字符导致应用程序崩溃

我正在创建一个应用程序,我必须将数据从远程数据库存储到本地sqlite3数据库.

问题是 - 当要插入的任何字符串包含unicode字符,例如:\ U00a0或\ U2022或\ U2019时,它会崩溃.

崩溃的代码部分是 -

NSString *insertQuery = @"insert into XYZ(field1,field2) values (@"1",[recordDict objectForKey:@"field2"]);

// recordDict contains value: @"\U00a0 \U00a0 \U00a0 \U00a0The Cadfsdfsdfptain\U2019s" for key: @"field2"

sqlite3_stmt *insertStmnt;
const char *sql = [insertQuery cStringUsingEncoding:1];

printf("insertQuery - %s",sql); // it is showing insertQuery - (null) and crashing at next line
if(sqlite3_prepare_v2(database, sql, -1, &insertStmnt, NULL) != SQLITE_OK){
    NSLog(@"Error while creating insert statement. '%s'",sqlite3_errmsg(database));
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议我如何解决这个问题?

谢谢,

Miraaj

string unicode cocoa utf-16 nsstring

1
推荐指数
1
解决办法
1180
查看次数

在没有stringWithCString的情况下将void*转换为NSString*

我有一个与Keychain交互的程序.你在一个指针传递给一个空指针和钥匙扣引导它,我想,到了密码,也传递一个UInt32的指针,它会指向密码的长度.

然后我需要将它用作NSString,我试图直接将其转换为它,但它聚合了更多的位然后需要,这对密码不起作用.我试着用:

NSString* password=[NSString stringWithCharacters:passwordData length:passwordLength];
Run Code Online (Sandbox Code Playgroud)

这将密码更改为中文字符.不知道为什么.当我在调试模式下打印描述时,它给了我:

Printing description of password:
\u3039\u4839\u6d6f\u2165\u1566?
Run Code Online (Sandbox Code Playgroud)

我能够完美地使用它:

NSString* password=[NSString stringWithCString:passwordData length:passwordLength];
Run Code Online (Sandbox Code Playgroud)

但这是折旧的,我想避免使用它.我对C和Objective-C都很新,而且无效指针会引发我的循环.在调试模式下,我查看了指针指向的内存,它肯定在该内存位置.我尝试使用const char*,但它不喜欢说变量可能没有被初始化.

这是我用来获取钥匙串的方法

- (OSStatus) GetPasswordKeychain:(void*)passwordData length:(UInt32*)passwordLength label:(NSString*)serverName
{
 status=SecKeychainFindGenericPassword(NULL, (UInt32)[serverName length], [serverName UTF8String], usernameLength, username,passwordLength , passwordData, NULL);
return status;
}
Run Code Online (Sandbox Code Playgroud)

有没有办法让NSString以适当的长度指向那里,让它成为正确的东西.谢谢您的帮助.这个地方很棒!

objective-c keychain void-pointers nsstring

1
推荐指数
1
解决办法
2510
查看次数

字符串操作

如果有像"com.mycompany.purchase1"这样的NSString如何只获得purchase1.

NSString *mainString = @"com.mycompany.purchase1";

-(NSString*)getLastComponent : (NSString*) mainString
{
NSString *string;
//Implementation
return string;//It should return only "purchase1"
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用lastPathComponent,pathExtension,我也不能使用substringToIndex,因为字符串可能有不同的长度.

iphone cocoa nsstring

1
推荐指数
1
解决办法
165
查看次数

关于NSString非常奇怪的问题

这个函数的一个非常奇怪的行为,

void* getNSString(const NSString* str){

str = @"This is new test";
//NSString* str1 = @"so strange test";

return;
}
Run Code Online (Sandbox Code Playgroud)

然后

NSLog(@"%@",getNSString(@"test"));
Run Code Online (Sandbox Code Playgroud)

结果将是

This is new test
Run Code Online (Sandbox Code Playgroud)

如果取消注释

NSString* str1 = @"so strange test";
Run Code Online (Sandbox Code Playgroud)

我的理解是没有返回任何内容,所以应该为NULL,为什么打印出那些字符串?

然后结果将是

so strange test
Run Code Online (Sandbox Code Playgroud)

iphone objective-c nsstring

1
推荐指数
1
解决办法
122
查看次数

将整数转换为字符串并使用每个字符

如何将整数转换为目标c中的字符串,以及字符串的每个字符是如何到达的?

相当于java charAt()方法.

integer objective-c nsstring

1
推荐指数
1
解决办法
1171
查看次数

将NSString从一个视图传递到另一个视图

我有2个视图共享相同的类文件(.h和.m).在第一个视图中,我有一个UIPicker,其中包含一个项目列表和一个按钮.如果用户单击该按钮,我希望我的第二个视图提供相应的图片(基于在UIPicker中选择的项目).

我的想法是根据所选项目在第一个视图中设置NSString.然后,当用户单击按钮将第二个视图推送到屏幕上时,我可以使用新视图传递该字符串.我一直在"谷歌搜索"一段时间,但我似乎无法用手指环绕它.如果重要,我正在使用导航控制器.这是在按钮单击上执行的代码:

-(IBAction) viewPictures{
     ViewControllerClass *sView = [[ViewControllerClass alloc] initWithNibName:@"ViewController2XIB" bundle:nil];
     [self.navigationController pushViewController:sView animated:YES];
}
Run Code Online (Sandbox Code Playgroud)

iphone variables nsstring uinavigationcontroller

1
推荐指数
1
解决办法
2172
查看次数

连接NSMutableArray中的所有元素以形成NSString

我有一个NSMtringArray的NSString对象.我如何创建一个NSString,它由该数组中的所有元素组成,中间用分号连接在一起?

例如:

array = "hello","hi","bye",nil;
output = "hello;hi;bye";
Run Code Online (Sandbox Code Playgroud)

iphone nsstring nsmutablearray ios

1
推荐指数
1
解决办法
1767
查看次数