我想知道我用格式说明符看到的东西。我看到的是这样的:
@"%03.1f", someFloat
Run Code Online (Sandbox Code Playgroud)
我测试了它,它在日志中返回
"1.5"
Run Code Online (Sandbox Code Playgroud)
这叫什么,03.1中间的东西%f?
我试图将此字符串'2015-05-08T09:44:25.343'格式转换为日期'dd/MM/YYYY'格式
我做错了什么?我的约会来了.
// convert 2015-05-08T09:44:25.343 to dd/MM/yyyy
NSString *str = @"2015-05-08T09:44:25.343";
NSDateFormatter *dateFormat = [[NSDateFormatter alloc]init];
[dateFormat setDateFormat:@"dd/MM/yyyy"];
NSDate *date = [dateFormat dateFromString:str];
NSLog(@"%@",date);
NSString *convertedString = [dateFormat stringFromDate:date];
NSLog(@"%@", convertedString);
Run Code Online (Sandbox Code Playgroud) 我写了一个代码将字符串转换为double但是给出了错误:
无法将表达式的类型'Double'转换为'NSString'类型
我的代码是:
var first = previewLable.text
var second = label1.text
var number1: Double = (first as NSString).doubleValue
var number2: Double = (second as NSString).doubleValue
Run Code Online (Sandbox Code Playgroud)
我要做些什么来修复这个错误???
谢谢
我需要将其他数据编码为NSString(长篇故事,请不要问为什么......)
我已经NSString使用此处概述的方法进行了子类化:
当我将这些子类中的一个指定为UILabel's文本时,我希望在询问标签文本时将其恢复.但事实并非如此.(我得到一个NSString集群实例)
MyString *string = [[MyString alloc] initWithString:@"Some string"];
UILabel *l = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
l.text = string;
NSString *t = l.text; // not getting the "MyString" object
Run Code Online (Sandbox Code Playgroud)
有没有解决这个问题?
在我的应用程序中,我使用lowercaseString.当我将"İ"更改为小写时,输出不正确.它在较小的字母上添加了更多的点:
let isim = "titTTSS??ÇÖÜ???le".lowercaseString
Run Code Online (Sandbox Code Playgroud)
输出是:
titttssi??çöüi?i?i?le
?应该是正确的输出i
我很想知道操作系统或编译器如何管理内存使用情况.以此登录屏幕为例.
如果我为用户ID和密码输入相同的字符串:两次都说"anoop",则以下两个字符串具有相同的地址:
NSString *userID = self.userNameField.stringValue;
NSString *password = self.passwordField.stringValue;
Run Code Online (Sandbox Code Playgroud)
如果我分别输入"anoop"和"Anoop",地址就会改变.
编译器如何知道密码文本与用户ID相同,那么它不是分配新的内存空间而是使用相同的引用?
我编写了一个非常简单的测试应用程序来尝试帮助我正在开发的更大的项目.
简单地说,测试应用程序循环预定次数并在每个循环上向字符串附加"1".当循环达到1000的倍数时,将重置该字符串并重新开始该过程.
代码如下; 但我发现内存使用量远高于我的预期.每次迭代增加约0.5MB.
似乎newString没有被重用,但是被丢弃并且创建了一个新实例,而没有恢复它正在使用的内存.
最终,该软件需要计数远高于100000.作为测试,如果我将迭代更改为1000万,它将占用超过5GB的内存!
有人有什么建议吗?到目前为止,我有各种方法来编写字符串清除并关闭ARC并手动释放它/重新创建,但似乎没有一种方法可以回收我期望的内存量.
感谢您的任何帮助!
*PS.是的,这个实际的软件完全没有意义,但正如我所说,它是一个测试应用程序,一旦修复就会迁移到一段有用的代码中.
int targetCount = 100000;
NSString * newString;
int main(int argc, const char * argv[]) {
@autoreleasepool {
process();
return 0;
}
}
void process() {
for (int i=0; i<targetCount; i++) {
calledFunction(i);
}
}
void calledFunction(count) {
if ((count % 1000) == 0) {
newString = nil;
newString = @"";
} else {
newString = [NSString stringWithFormat:@"%@1", newString];
}
}
Run Code Online (Sandbox Code Playgroud) if let userID = NSUserDefaults.standardUserDefaults().valueForKey("uid") as? String{
currentUser = User(name: snapshot.value["name"] as! String ,phoneNumber: snapshot.value["phoneNumber"] as! String, userId: userID , isOnline: snapshot.value["isOnline"] as! Bool, key: "", lastName: snapshot.value["lastName"] as! String, photoUrl: "")
}
Run Code Online (Sandbox Code Playgroud)
我使用Firebase作为MBaas并且我在currentUser线上得到这个错误,奇怪的是这不会一直发生,但有时只有当我离开应用程序(主页按钮)或重新进入它时...
感谢您的时间.
http://180.160.1.140/webapp/camera?id=fksmf84-8493-45u3
Run Code Online (Sandbox Code Playgroud)
如何获得这个网址部分fksmf84-8493-45u3? - 这部分在运行时间不断变化.
这是我到目前为止所尝试的.
NSString *url = @"http://180.160.1.140/webapp/camera?id=";
NSArray *parts = [url componentsSeparatedByString:@"="];
NSString *personID = [parts lastObject];
NSLog(@"My ID: %@", personID);
Run Code Online (Sandbox Code Playgroud) 我有一个返回某些系统值的函数.它在Swift 2.2中运行良好,我刚刚升级到Xcode 8和Swift 3,现在它失败了.
func ioPlatExpertDevString(_ property: String) -> String {
// Start tapping in to the IO Service
let ioPlatformExpertDevice:io_service_t? = IOServiceGetMatchingService(kIOMasterPortDefault, IOServiceMatching("IOPlatformExpertDevice"))
var sAnswer = "Not Found"
let cfAnswer:AnyObject! = IORegistryEntryCreateCFProperty(ioPlatformExpertDevice!, "\(property)" as CFString!, kCFAllocatorDefault, 0).takeRetainedValue()
if (cfAnswer != nil) {
let nsAnswer = (cfAnswer as! NSString)
sAnswer = nsAnswer.uppercased
}
// Close the IO Service
IOObjectRelease(ioPlatformExpertDevice!)
return sAnswer
}
Run Code Online (Sandbox Code Playgroud)
之前,我使用的是"CFData"而不是"AnyObject".它构建良好,但在运行时,我收到以下错误:
无法将类型'__NSCFData'(0x7fff7b833ec0)的值转换为'NSString'(0x7fff7ac32038).