标签: nsstring


isEqualToString始终返回true

for (Annotation *ann in annotaionArray) // annotationArray contains annotations added to map
{
    NSString *fetchedtitle = ann.title;

    if([fetchedtitle isEqualToString:oldTitle]); // oldTitle = textfield.text
    {
        ann.title = appDelegate.pinTitle;
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

但比较总是如此.可能是什么错误?

从sqlite获取的const char被转换为stringWithUTF8String.

一切都已完成,以完美地转换为字符串,但仍然为什么错误比较?

objective-c nsstring

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

点击手势到UITextView的一部分

我有这个代码:

UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapResponse)];
singleTap.numberOfTapsRequired = 1;
[_textView addGestureRecognizer:singleTap];
Run Code Online (Sandbox Code Playgroud)

这将对整个UITextView作出反应,但是是否可以更改它以便它只响应UITextView中字符串的某个部分被点击?比如一个URL?

nsstring uitextview ios uitapgesturerecognizer

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

将JSON格式的NSString转换为NSMutableDictionary

我有一个我从JSON得到的字符串.

{
    "Audit_Description": "Request Approved",
    "Module_Name": "Resource Request",
    "Field_DisplayName": null",
    "Previous_Value": Education",
    "Current_Value": Employment",
    "Modified_Timestamp": "08-02-2013"
 },
 {
    "Audit_Description": "Request Approved",
    "Module_Name": "Resource Request",
    "Field_DisplayName": null",
    "Previous_Value": null",
    "Current_Value": null",
    "Modified_Timestamp": "08-02-2013"
}
Run Code Online (Sandbox Code Playgroud)

我想解析数据.从JSON,数据NSString如上所述.我想将它们作为密钥对值提取出来.但是我无法解析它们.这应该转换NSMutableDictionary为关键"Audit_Description"值应该是"Request Approved"

输出:

  @{
      @"Audit_Description" : @"Request Approved",
      @"Module_Name" = @"Resource Request",
      @"Field_DisplayName" : <null>,
      @"Previous_Value" : @"Education",
      @"Current_Value" : @"Employment",
      @"Modified_Timestamp" : @"08-02-2013"
  }
Run Code Online (Sandbox Code Playgroud)

谢谢.

iphone json nsstring nsmutabledictionary

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

删除NSString的最后一个字符,直到它到达分隔符

我有一个字符串,用" - "作为分隔符来显示库存量.

它的构建如下:localStock- wareHouseStock-supplierStock

现在我想更新字符串末尾的supplierStock,但正如您在下面的代码中看到的那样,当原始字符串返回的空间值超过单个空格值(例如20)时,它会出错.

有没有办法删除所有字符,直到最后一个" - "(或删除第二个" - "后面的字符)?

NSMutableString *string1 = [NSMutableString stringWithString: p1.colorStock];
                NSLog(@"string1: %@",string1);
                NSString *newString = [string1 substringToIndex:[string1 length]-2];
                NSLog(@"newString: %@",newString);
                NSString *colorStock = [NSString stringWithFormat:@"%@-%@",newString,p2.supplierStock];
                NSLog(@"colorstock: %@",colorStock);
                p1.colorStock = colorStock;
Run Code Online (Sandbox Code Playgroud)

NSLog1

string1: 0-0-0
newString: 0-0
colorstock: 0-0-20
Run Code Online (Sandbox Code Playgroud)

NSLog2

string1: 0-0-20
newString: 0-0-
colorstock: 0-0--20
Run Code Online (Sandbox Code Playgroud)

编辑:感谢Srikar让它工作!

NSString *string1 = [NSString stringWithString: p1.colorStock];
                NSLog(@"string1: %@",string1);
                NSString  *finalString = [string1 stringByReplacingOccurrencesOfString:[[string1 componentsSeparatedByString:@"-"] lastObject] withString:p2.supplierStock.stringValue];
                NSLog(@"finalString: %@",finalString);
                p1.colorStock = finalString;
Run Code Online (Sandbox Code Playgroud)

substring objective-c nsstring ios

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

将NSString转换为NSArray

我有一个字符串如下:

NSString *str = @"abcd,efgh";
Run Code Online (Sandbox Code Playgroud)

现在我想将此字符串转换为NSMutableArray之类的

NSMutableArray *arr = {abcd,efgh};
Run Code Online (Sandbox Code Playgroud)

那怎么办呢?

任何帮助,将不胜感激.

iphone nsstring nsmutablearray

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

Objective-C等效于Ruby中的string.unpack('N')

我试图将字符串转换为32位无符号网络(大端)字节顺序.我似乎无法弄清楚如何做到这一点.在Ruby中我完成了这个string.unpack('N')- 但似乎无法在Objective-C中管理它.有什么建议?谢谢!

ruby objective-c nsstring

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

isEqualToString:没有正确比较字符串

我有两个完全相同的字符串,但它们没有被比较为相等.一个字符串是一个可变字符串,另一个是普通字符串,我有一个if语句来检查两个字符串是否相等.两个字符串的输出是这样的:

2013-04-08 09:09:31.555 Pin2Own[650:1303] 6447 E Crocus Dr
2013-04-08 09:09:31.555 Pin2Own[650:1303] 6447 E Crocus Dr
Run Code Online (Sandbox Code Playgroud)

顶部是可变字符串,底部是普通字符串.我已经尝试将可变字符串转换为普通字符串,但我遇到了同样的问题.我从NSXMLParser子类中的xml文档获取可变字符串,另一个从单例中的可变数组中获取.以下是NSXMLParser类的代码:

- (void)parserDidStartDocument:(NSXMLParser *)parser
{
    address = nil;
    zpid = nil;
}

- (void)parser:(NSXMLParser *)parser
didStartElement:(NSString *)elementName
  namespaceURI:(NSString *)namespaceURI
 qualifiedName:(NSString *)qualifiedName
    attributes:(NSDictionary *)attributeDict
{
    if ([elementName isEqualToString:@"street"])
    address = [[NSMutableString alloc] init];

    if ([elementName isEqualToString:@"zpid"])
    zpid = [[NSMutableString alloc] init];
}

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
    if(address)
    [address setString:string];

    else if(zpid)
    [zpid setString:string];
}

- (void)parser:(NSXMLParser *)parser
 didEndElement:(NSString *)elementName
  namespaceURI:(NSString *)namespaceURI
 qualifiedName:(NSString *)qName
{ …
Run Code Online (Sandbox Code Playgroud)

compare nsstring ios

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

使用MD5算法解密iOS中的加密字符串

基本上我想加密和解密密码iOS.

到目前为止,我使用以下方法来加密密码

- (NSString *) stringFromMD5{

    if(self == nil || [self length] == 0)
        return nil;

    const char *value = [self UTF8String];

    unsigned char outputBuffer[CC_MD5_DIGEST_LENGTH];
    CC_MD5(value, strlen(value), outputBuffer);

    NSMutableString *outputString = [[NSMutableString alloc] initWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
    for(NSInteger count = 0; count < CC_MD5_DIGEST_LENGTH; count++){
        [outputString appendFormat:@"%02x",outputBuffer[count]];
    }

    return [outputString autorelease];
}
Run Code Online (Sandbox Code Playgroud)

这是使用MD5哈希来加密字符串.

题:

  1. 当我在某处读到时,无法解密MD5哈希.这是真的吗?如果没有,那么请指导我使用解密MD5.
  2. 如果第一个是不可能的,那么,还有没有其他的替代品,加密和解密NSStringiOS.

我非常欢迎你提出这方面的建议.

encryption md5 objective-c nsstring ios

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

将五个字符串传递给objective-c xcode中的方法

我只是在考虑一个编程设计问题:

比如,我将5个字符串传递给从一个类到另一个类的方法.它们的详细信息如下:主机名主机域用户子域用户名密码

哪个更好?1.将它们作为NSString对象的数组传递或2.重新定义被调用的方法以接受5个不同的NSString参数?

这是一种更有效的方法吗?

objective-c nsstring

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