У меня есть NSString
, и для жизни меня не удается выяснить, как remove spaces
, а затем взять last 30 characters
.удалить последние символы из NSString
ошибки как:
3/5/13 3:38:30 PM *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFType UTF8String]: unrecognized selector sent to instance 0x160bf20'
или
3/5/13 3:30:51 PM *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFType length]: unrecognized selector sent to instance 0x160bf20'
Я не понимаю, эти ошибки.
Код:
NSString* m = (NSString*)CFDictionaryGetValue(diskDesc, kDADiskDescriptionVolumeUUIDKey);
[m stringByReplacingOccurrencesOfString:@" " withString:@""]
NSString *newString = [m substringToIndex:[m length]-30];
Другой Update:
NSString * m = (NSString*)CFDictionaryGetValue(diskDesc, kDADiskDescriptionDeviceModelKey);
NSString * v = (NSString*)CFDictionaryGetValue(diskDesc, kDADiskDescriptionVolumeUUIDKey);
if(m)
{
m = [m stringByReplacingOccurrencesOfString:@" " withString:@""];
}
if(v)
{
if([v length] > 30)
{
NSString *newString = [v substringToIndex:[v length]-30];
}
}
Ваши ошибки указывают на то, что у вас вообще нет CFStringRef. Вероятно, у вас есть мусорный объект. –
Может быть полезно показать некоторый код того, как вы удаляете пробелы, а затем принимать последние 30 символов ... –
вместо 'if (m)' try' if ([m isKindOfClass: [NSString class]]) ' – Sebastian