Tôi là một anh chàng java đến với Objective-C. Trong java, để thêm biến vào chuỗi, bạn phải làm điều gì đó dọc theo các dòng:Nối chuỗi với biến
someString = "This string is equal to " + someNumber + ".";
Tôi không thể tìm ra cách thực hiện nó trong Objective-C. Tôi có một số NSMutableString
mà tôi muốn thêm vào giữa một chuỗi. Làm thế nào để tôi làm việc này?
Tôi đã thử:
NSString *someText = @"Lorem ipsum " + someMutableString;
NSString *someText = @"Lorem ipsum " + [someMutableString stringForm];
và một vài thứ khác, không ai trong số đó có vẻ làm việc. Đồng thời hoán đổi cho nhau +
s với ,
s.
Quản lý bộ nhớ của bạn bị rối loạn. Đó là chuỗi ban đầu được tạo bởi 'alloc' mà bạn cần để giải phóng, nhưng bạn đang ném nó đi (rò rỉ nó) và thay thế nó bằng kết quả của' stringByAppendingString: ', mà không nên được phát hành. – Chuck
Tôi nhận ra rằng tôi có thể bị nhầm lẫn bởi quản lý bộ nhớ ở đây, nhưng không phải là câu lệnh thứ 2 của tôi trỏ tới cùng một khối bộ nhớ, trong đó tôi chỉ gán giá trị cho giá trị hiện có cộng với chuỗi được nối thêm? – Trevor
Không, đó là hai đối tượng khác nhau khác nhau ở hai vị trí bộ nhớ khác nhau. NSStrings đồng bằng không thể thay đổi giá trị của chúng, vì vậy 'stringByAppendingString:' trả về một chuỗi mới với giá trị của chuỗi ban đầu cộng với giá trị nối thêm. – Chuck