사용자 지정 개체가 포함된 NSMutableArray를 정렬하려면 어떻게 해야 합니까?
제가 하고 싶은 일은 꽤 간단해 보이지만, 웹에서 답을 찾을 수 없습니다.나는 있습니다.NSMutableArray
물체의 '사람' 물체라고 가정해 보겠습니다.나는 분류하고 싶습니다.NSMutableArray
입니다. 생일.NSDate
.
이 방법과 관련이 있다고 생각합니다.
NSArray *sortedArray = [drinkDetails sortedArrayUsingSelector:@selector(???)];
Java에서 개체를 Comparable로 구현하거나 Collections를 사용합니다.인라인 사용자 지정 비교기로 정렬...오브젝티브-C에서 도대체 어떻게 하는 겁니까?
비교 방법
개체에 대해 비교 방법을 구현할 수 있습니다.
- (NSComparisonResult)compare:(Person *)otherObject {
return [self.birthDate compare:otherObject.birthDate];
}
NSArray *sortedArray = [drinkDetails sortedArrayUsingSelector:@selector(compare:)];
NSSortDescriptor(더 나은)
또는 보통 훨씬 더 나은:
NSSortDescriptor *sortDescriptor;
sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"birthDate"
ascending:YES];
NSArray *sortedArray = [drinkDetails sortedArrayUsingDescriptors:@[sortDescriptor]];
배열에 둘 이상을 추가하면 여러 키로 쉽게 정렬할 수 있습니다.사용자 지정 비교기 방법을 사용할 수도 있습니다.설명서를 확인합니다.
블록(빛나!)
Mac OS X 10.6 및 iOS 4 이후 블록으로 정렬할 수도 있습니다.
NSArray *sortedArray;
sortedArray = [drinkDetails sortedArrayUsingComparator:^NSComparisonResult(Person *a, Person *b) {
return [a.birthDate compare:b.birthDate];
}];
성능
그-compare:
그리고 블록 기반 방법은 일반적으로 사용하는 것보다 훨씬 더 빠를 것입니다.NSSortDescriptor
후자는 KVC에 의존하기 때문입니다.의 큰 NSSortDescriptor
데이터를 가 쉽게 할 수 NSTableView
머리글 행을 클릭합니다.
내용은 다음을 하십시오.NSMutableArray
방법
두 개의 객체(유형)를 사용하는 비교 기능을 설정해야 합니다.Person
당신이 두 가지를 비교하고 있기 때문에Person
개체) 및 컨텍스트 매개 변수입니다.
이 두 물체는 단지 예시일 뿐입니다.Person
세 번째 개체는 문자열(예: @"birthDate")입니다.
는 이함는다반니다합환을 반환합니다.NSComparisonResult
를 합니다.NSOrderedAscending
한다면PersonA.birthDate
<PersonB.birthDate
은 것입다니돌올아▁return다를 반환할 것입니다.NSOrderedDescending
한다면PersonA.birthDate
>PersonB.birthDate
마침내, 그것은 돌아올 것입니다.NSOrderedSame
한다면PersonA.birthDate
==PersonB.birthDate
.
이것은 대략적인 의사 코드입니다. 한 날짜가 다른 날짜와 "덜", "더" 또는 "더"가 되는 것이 무엇을 의미하는지 구체화해야 합니다(예: second-sin-epoch 비교 등).
NSComparisonResult compare(Person *firstPerson, Person *secondPerson, void *context) {
if ([firstPerson birthDate] < [secondPerson birthDate])
return NSOrderedAscending;
else if ([firstPerson birthDate] > [secondPerson birthDate])
return NSOrderedDescending;
else
return NSOrderedSame;
}
좀 더 컴팩트한 것을 원하는 경우 3차 연산자를 사용할 수 있습니다.
NSComparisonResult compare(Person *firstPerson, Person *secondPerson, void *context) {
return ([firstPerson birthDate] < [secondPerson birthDate]) ? NSOrderedAscending : ([firstPerson birthDate] > [secondPerson birthDate]) ? NSOrderedDescending : NSOrderedSame;
}
만약 여러분이 이것을 많이 한다면, 인라인은 아마도 이것을 조금 더 빠르게 할 수 있을 것입니다.
저는 iOS 4에서 블록을 사용하여 이것을 했습니다.ID에서 클래스 유형으로 배열 요소를 캐스팅해야 했습니다.이 경우 점수라는 속성을 가진 점수라는 클래스였습니다.
또한 어레이의 요소가 올바른 유형이 아닌 경우 수행할 작업을 결정해야 합니다. 이 예에서는 방금 반환했습니다.NSOrderedSame
하지만 제 코드에서는 예외라고 생각했습니다.
NSArray *sorted = [_scores sortedArrayUsingComparator:^(id obj1, id obj2){
if ([obj1 isKindOfClass:[Score class]] && [obj2 isKindOfClass:[Score class]]) {
Score *s1 = obj1;
Score *s2 = obj2;
if (s1.points > s2.points) {
return (NSComparisonResult)NSOrderedAscending;
} else if (s1.points < s2.points) {
return (NSComparisonResult)NSOrderedDescending;
}
}
// TODO: default is the same?
return (NSComparisonResult)NSOrderedSame;
}];
return sorted;
PS: 이것은 내림차순으로 정렬하는 것입니다.
저는 모든 것을 시도했지만, 이것은 저에게 효과가 있었습니다.에서 저는 " 반에라는 " 는이다 " 른의반있 "라는.crimeScene
고리의속성으로정원를합다니그기렬하▁""의 속성으로 .crimeScene
".
이것은 매력적으로 작동합니다.
NSSortDescriptor *sorter = [[NSSortDescriptor alloc] initWithKey:@"crimeScene.distance" ascending:YES];
[self.arrAnnotations sortUsingDescriptors:[NSArray arrayWithObject:sorter]];
iOS 4부터는 블록을 사용하여 정렬할 수도 있습니다.
에서 저는 이 ' 가정합니다.이은 이 특 예 제 배 객 의 위 다 이 들 반 음 을 체 환 하 는 가 다 합 니 정 있 방 ' 저 고 다 가 경 고 법 지 는 우 열 정 을 의 치 ▁an , ' ▁for ▁method다니합가정▁a▁have저▁returns이▁inposition ▁i▁'▁which▁your고있▁that▁array▁objects다▁the방특정 ▁partic ▁this는체NSInteger
.
NSArray *arrayToSort = where ever you get the array from... ;
NSComparisonResult (^sortBlock)(id, id) = ^(id obj1, id obj2)
{
if ([obj1 position] > [obj2 position])
{
return (NSComparisonResult)NSOrderedDescending;
}
if ([obj1 position] < [obj2 position])
{
return (NSComparisonResult)NSOrderedAscending;
}
return (NSComparisonResult)NSOrderedSame;
};
NSArray *sorted = [arrayToSort sortedArrayUsingComparator:sortBlock];
참고: "정렬된" 배열은 자동으로 해제됩니다.
게오르크 숄리의 두 번째 답변에는 누락된 단계가 있지만, 그때는 잘 작동합니다.
NSSortDescriptor *sortDescriptor;
sortDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"birthDate"
ascending:YES] autorelease];
NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
NSArray *sortedArray;
sortedArray = [drinkDetails sortedArrayUsingDescriptors:sortDescriptors];
복사하고 붙여넣을 때 시간이 낭비되고 정렬된 ArrayUsingDescriptors에서 's'가 없으면 실패했기 때문에 's'가 추가했습니다.
NSSortDescriptor *sortDescriptor;
sortDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"birthDate" ascending:YES] autorelease];
NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
NSArray *sortedArray;
sortedArray = [drinkDetails sortedArrayUsingDescriptors:sortDescriptors];
고마워요, 잘 작동하고 있어요...
당신의.Person
를 들어해야 합니다.compare:
다른 것이 필요합니다.Person
목어, 반환NSComparisonResult
두 물체의 관계에 따라.
그러면 당신은 전화를 할 것입니다.sortedArrayUsingSelector:
와 함께@selector(compare:)
그리고 그것은 이루어져야 합니다.
다른 방법도 있지만, 제가 아는 한 코코아와 동등한 것은 없습니다.Comparable
인터페이스사용.sortedArrayUsingSelector:
가장 고통스럽지 않은 방법일 겁니다
iOS 4 블록이 당신을 구할 것입니다 :)
featuresArray = [[unsortedFeaturesArray sortedArrayUsingComparator: ^(id a, id b)
{
DMSeatFeature *first = ( DMSeatFeature* ) a;
DMSeatFeature *second = ( DMSeatFeature* ) b;
if ( first.quality == second.quality )
return NSOrderedSame;
else
{
if ( eSeatQualityGreen == m_seatQuality || eSeatQualityYellowGreen == m_seatQuality || eSeatQualityDefault == m_seatQuality )
{
if ( first.quality < second.quality )
return NSOrderedAscending;
else
return NSOrderedDescending;
}
else // eSeatQualityRed || eSeatQualityYellow
{
if ( first.quality > second.quality )
return NSOrderedAscending;
else
return NSOrderedDescending;
}
}
}] retain];
http://sokol8.blogspot.com/2011/04/sorting-nsarray-with-blocks.html 약간의 설명
위해서NSMutableArray
을 사용합니다.sortUsingSelector
장소를 합니다.새 인스턴스를 만들지 않고 장소를 정렬합니다.
다음과 같은 일반적인 방법을 사용할 수 있습니다.그것은 당신의 문제를 해결할 것입니다.
//Called method
-(NSMutableArray*)sortArrayList:(NSMutableArray*)arrDeviceList filterKeyName:(NSString*)sortKeyName ascending:(BOOL)isAscending{
NSSortDescriptor *sorter = [[NSSortDescriptor alloc] initWithKey:sortKeyName ascending:isAscending];
[arrDeviceList sortUsingDescriptors:[NSArray arrayWithObject:sorter]];
return arrDeviceList;
}
//Calling method
[self sortArrayList:arrSomeList filterKeyName:@"anything like date,name etc" ascending:YES];
것 이라면, 여개데정는경우하렬를터이.NSNumbers
호출로 할 수 있습니다: " 한 번 호 정 할 있 니 습 다 수 렬 의 로 출 다 니 있 습 ▁you : ▁them ▁with
[arrayToSort sortUsingSelector: @selector(compare:)];
합니다.NSNumber
합니다.에서 비교 방법을 구현합니다.당신은 같은 일을 할 수 있습니다.NSString
개체 또는 비교 방법을 구현하는 사용자 지정 데이터 개체의 배열에 대해서도 마찬가지입니다.
여기 비교기 블록을 사용한 코드 예제가 있습니다.각 사전이 "sort_key" 키에 숫자를 포함하는 사전 배열을 정렬합니다.
#define SORT_KEY @\"sort_key\"
[anArray sortUsingComparator:
^(id obj1, id obj2)
{
NSInteger value1 = [[obj1 objectForKey: SORT_KEY] intValue];
NSInteger value2 = [[obj2 objectForKey: SORT_KEY] intValue];
if (value1 > value2)
{
return (NSComparisonResult)NSOrderedDescending;
}
if (value1 < value2)
{
return (NSComparisonResult)NSOrderedAscending;
}
return (NSComparisonResult)NSOrderedSame;
}];
위의 코드는 각 정렬 키에 대한 정수 값을 얻고 비교하는 작업을 거칩니다. 때부터NSNumber
객체는 비교 방법을 구현하며, 훨씬 더 간단하게 다시 작성할 수 있습니다.
#define SORT_KEY @\"sort_key\"
[anArray sortUsingComparator:
^(id obj1, id obj2)
{
NSNumber* key1 = [obj1 objectForKey: SORT_KEY];
NSNumber* key2 = [obj2 objectForKey: SORT_KEY];
return [key1 compare: key2];
}];
또는 비교기 본체를 한 줄까지 증류할 수 있습니다.
return [[obj1 objectForKey: SORT_KEY] compare: [obj2 objectForKey: SORT_KEY]];
코드가 읽기 쉽고 디버깅하기 쉽기 때문에 간단한 문장과 많은 임시 변수를 선호하는 경향이 있습니다.컴파일러는 어쨌든 임시 변수를 최적화하므로 올인원 한 줄 버전에는 이점이 없습니다.
NSSortDescriptor를 사용하여 사용자 지정 개체와 NSMutableArray를 정렬할 수 있습니다.
NSSortDescriptor *sortingDescriptor;
sortingDescriptor = [[NSSortDescriptor alloc] initWithKey:@"birthDate"
ascending:YES];
NSArray *sortArray = [drinkDetails sortedArrayUsingDescriptors:@[sortDescriptor]];
-(NSMutableArray*) sortArray:(NSMutableArray *)toBeSorted
{
NSArray *sortedArray;
sortedArray = [toBeSorted sortedArrayUsingComparator:^NSComparisonResult(id a, id b)
{
return [a compare:b];
}];
return [sortedArray mutableCopy];
}
저는 이런 종류의 일을 더 쉽게 만드는 목표 C로의 링크라는 범주 방법의 작은 라이브러리를 만들었습니다.키 선택기와 함께 정렬 방법을 사용하면 다음을 기준으로 정렬할 수 있습니다.birthDate
다음과 같이:
NSArray* sortedByBirthDate = [input sort:^id(id person) {
return [person birthDate];
}]
저는 방금 사용자 지정 요구 사항에 따라 다단계 정렬을 했습니다.
//값 계산
[arrItem sortUsingComparator:^NSComparisonResult (id a, id b){
ItemDetail * itemA = (ItemDetail*)a;
ItemDetail* itemB =(ItemDetail*)b;
//item price are same
if (itemA.m_price.m_selling== itemB.m_price.m_selling) {
NSComparisonResult result= [itemA.m_itemName compare:itemB.m_itemName];
//if item names are same, then monogramminginfo has to come before the non monograme item
if (result==NSOrderedSame) {
if (itemA.m_monogrammingInfo) {
return NSOrderedAscending;
}else{
return NSOrderedDescending;
}
}
return result;
}
//asscending order
return itemA.m_price.m_selling > itemB.m_price.m_selling;
}];
https://sites.google.com/site/greateindiaclub/mobil-apps/ios/multilevelsortinginiosobjectivec
일부 프로젝트에서 sortUsingFunction::을(를) 사용했습니다.
int SortPlays(id a, id b, void* context)
{
Play* p1 = a;
Play* p2 = b;
if (p1.score<p2.score)
return NSOrderedDescending;
else if (p1.score>p2.score)
return NSOrderedAscending;
return NSOrderedSame;
}
...
[validPlays sortUsingFunction:SortPlays context:nil];
»NSMutableArray
매우 간단합니다.
NSMutableArray *arrayToFilter =
[[NSMutableArray arrayWithObjects:@"Photoshop",
@"Flex",
@"AIR",
@"Flash",
@"Acrobat", nil] autorelease];
NSMutableArray *productsToRemove = [[NSMutableArray array] autorelease];
for (NSString *products in arrayToFilter) {
if (fliterText &&
[products rangeOfString:fliterText
options:NSLiteralSearch|NSCaseInsensitiveSearch].length == 0)
[productsToRemove addObject:products];
}
[arrayToFilter removeObjectsInArray:productsToRemove];
NS 비교기를 사용하여 정렬
개체를 하려면 사용자 지정 개체를 제공해야 .NSComparator
사용자 지정 개체를 비교하는 데 사용됩니다.은 록이반니다합을 합니다.NSComparisonResult
두 개체의 순서를 나타내는 값입니다. 전체 배열을 는 그서전배체정을렬기위해하래.NSComparator
는 다음과 같은 방식으로 사용됩니다.
NSArray *sortedArray = [employeesArray sortedArrayUsingComparator:^NSComparisonResult(Employee *e1, Employee *e2){
return [e1.firstname compare:e2.firstname];
}];
NS Sort Descriptor 렬정
예를 들어, 사용자 지정 클래스의 인스턴스를 포함하는 배열이 있다고 가정해 보겠습니다. Employee는 이름, 성 및 나이 속성을 가집니다.다음 예제에서는 배열 내용을 연령 키별 오름차순으로 정렬하는 데 사용할 수 있는 NSSort Descriptor를 만드는 방법을 보여 줍니다.
NSSortDescriptor *ageDescriptor = [[NSSortDescriptor alloc] initWithKey:@"age" ascending:YES];
NSArray *sortDescriptors = @[ageDescriptor];
NSArray *sortedArray = [employeesArray sortedArrayUsingDescriptors:sortDescriptors];
정의 합니다.
이름은 문자열이며, 사용자에게 표시할 문자열을 정렬할 때는 항상 지역화된 비교를 사용해야 합니다.종종 대소문자를 구분하지 않는 비교도 수행하려고 합니다.다음은 (localizedStandardCompare:)를 사용하여 성과 이름을 기준으로 배열을 정렬하는 예제입니다.
NSSortDescriptor *lastNameDescriptor = [[NSSortDescriptor alloc]
initWithKey:@"lastName" ascending:YES selector:@selector(localizedStandardCompare:)];
NSSortDescriptor * firstNameDescriptor = [[NSSortDescriptor alloc]
initWithKey:@"firstName" ascending:YES selector:@selector(localizedStandardCompare:)];
NSArray *sortDescriptors = @[lastNameDescriptor, firstNameDescriptor];
NSArray *sortedArray = [employeesArray sortedArrayUsingDescriptors:sortDescriptors];
참조 및 자세한 내용은 https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/SortDescriptors/Articles/Creating.html 을 참조하십시오.
http://www.ios-blog.co.uk/tutorials/objective-c//http://www.ios-blog.co.uk/tutorials/objective-c/how-to-sort-nsarray-with-custom-objects/
Swift의 프로토콜과 기능 프로그래밍을 사용하면 클래스가 Comparable 프로토콜을 준수하고 프로토콜에 필요한 메소드를 구현한 다음 정렬된(: ) 상위 함수를 사용하여 가변 배열을 사용할 필요 없이 정렬된 배열을 만들기만 하면 됩니다.
class Person: Comparable {
var birthDate: NSDate?
let name: String
init(name: String) {
self.name = name
}
static func ==(lhs: Person, rhs: Person) -> Bool {
return lhs.birthDate === rhs.birthDate || lhs.birthDate?.compare(rhs.birthDate as! Date) == .orderedSame
}
static func <(lhs: Person, rhs: Person) -> Bool {
return lhs.birthDate?.compare(rhs.birthDate as! Date) == .orderedAscending
}
static func >(lhs: Person, rhs: Person) -> Bool {
return lhs.birthDate?.compare(rhs.birthDate as! Date) == .orderedDescending
}
}
let p1 = Person(name: "Sasha")
p1.birthDate = NSDate()
let p2 = Person(name: "James")
p2.birthDate = NSDate()//he is older by miliseconds
if p1 == p2 {
print("they are the same") //they are not
}
let persons = [p1, p2]
//sort the array based on who is older
let sortedPersons = persons.sorted(by: {$0 > $1})
//print sasha which is p1
print(persons.first?.name)
//print James which is the "older"
print(sortedPersons.first?.name)
이 경우 "sortedArrayUsingComparator"를 사용하여 배열을 정렬합니다.아래 코드를 보십시오.
contactArray = [[NSArray arrayWithArray:[contactSet allObjects]] sortedArrayUsingComparator:^NSComparisonResult(ContactListData *obj1, ContactListData *obj2) {
NSString *obj1Str = [NSString stringWithFormat:@"%@ %@",obj1.contactName,obj1.contactSurname];
NSString *obj2Str = [NSString stringWithFormat:@"%@ %@",obj2.contactName,obj2.contactSurname];
return [obj1Str compare:obj2Str];
}];
또한 제 목표는
@interface ContactListData : JsonData
@property(nonatomic,strong) NSString * contactName;
@property(nonatomic,strong) NSString * contactSurname;
@property(nonatomic,strong) NSString * contactPhoneNumber;
@property(nonatomic) BOOL isSelected;
@end
sortDescriptor를 생성한 다음 아래와 같이 sortDescriptor를 사용하여 nsmutable 배열을 정렬할 수 있습니다.
let sortDescriptor = NSSortDescriptor(key: "birthDate", ascending: true, selector: #selector(NSString.compare(_:)))
let array = NSMutableArray(array: self.aryExist.sortedArray(using: [sortDescriptor]))
print(array)
Swift에서 배열 정렬
위해서Swifty
아래 사람은 전 세계적으로 위의 목표를 달성하기 위한 매우 깨끗한 기술입니다. 보 들 겠 습 어 다 의 스 ▁class ▁ofUser
몇 가지 속성을 가지고 있습니다.
class User: NSObject {
var id: String?
var name: String?
var email: String?
var createdDate: Date?
}
이제 우리는 다음을 기준으로 정렬해야 하는 배열을 가지고 있습니다.createdDate
오름차순 및/또는 내림차순입니다.그럼 날짜 비교 기능을 추가해 보겠습니다.
class User: NSObject {
var id: String?
var name: String?
var email: String?
var createdDate: Date?
func checkForOrder(_ otherUser: User, _ order: ComparisonResult) -> Bool {
if let myCreatedDate = self.createdDate, let othersCreatedDate = otherUser.createdDate {
//This line will compare both date with the order that has been passed.
return myCreatedDate.compare(othersCreatedDate) == order
}
return false
}
}
, 그럼 이제 제, 이로 .extension
Array
위해서User
에서 간히말과, 있는 메소드를 추가해 보겠습니다.User
그 안에 있는 물건들.
extension Array where Element: User {
//This method only takes an order type. i.e ComparisonResult.orderedAscending
func sortUserByDate(_ order: ComparisonResult) -> [User] {
let sortedArray = self.sorted { (user1, user2) -> Bool in
return user1.checkForOrder(user2, order)
}
return sortedArray
}
}
오름차순 사용
let sortedArray = someArray.sortUserByDate(.orderedAscending)
내림차순 사용
let sortedArray = someArray.sortUserByDate(.orderedAscending)
동일 주문에 대한 사용
let sortedArray = someArray.sortUserByDate(.orderedSame)
은 의방법에서
extension
다음의 경우에만 액세스할 수 있습니다.Array
이 형의입니다.[User]
||Array<User>
중첩된 개체에 대해 이와 같이 사용합니다.
NSSortDescriptor * sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"lastRoute.to.lastname" ascending:YES selector:@selector(caseInsensitiveCompare:)];
NSMutableArray *sortedPackages = [[NSMutableArray alloc]initWithArray:[packages sortedArrayUsingDescriptors:@[sortDescriptor]]];
lastRoute는 하나의 개체이며 이 개체는 to 개체를 유지하고, 이 개체는 성 문자열 값을 유지합니다.
빠른 버전: 5.1
사용자 정의 구조자 클래스가 있고 임의로 정렬하려면 지정한 필드에서 정렬하는 후행 마감을 사용하여 정렬()을 호출해야 합니다.다음은 특정 속성을 정렬하는 사용자 지정 구조체 배열을 사용하는 예제입니다.
struct User {
var firstName: String
}
var users = [
User(firstName: "Jemima"),
User(firstName: "Peter"),
User(firstName: "David"),
User(firstName: "Kelly"),
User(firstName: "Isabella")
]
users.sort {
$0.firstName < $1.firstName
}
배열을 제자리에서 정렬하는 대신 정렬된 배열을 반환하려면 다음과 같이 sorted()를 사용합니다.
let sortedUsers = users.sorted {
$0.firstName < $1.firstName
}
let sortedUsers = users.sorted {
$0.firstName < $1.firstName
}
NSMutableArray *stockHoldingCompanies = [NSMutableArray arrayWithObjects:fortune1stock,fortune2stock,fortune3stock,fortune4stock,fortune5stock,fortune6stock , nil];
NSSortDescriptor *sortOrder = [NSSortDescriptor sortDescriptorWithKey:@"companyName" ascending:NO];
[stockHoldingCompanies sortUsingDescriptors:[NSArray arrayWithObject:sortOrder]];
NSEnumerator *enumerator = [stockHoldingCompanies objectEnumerator];
ForeignStockHolding *stockHoldingCompany;
NSLog(@"Fortune 6 companies sorted by Company Name");
while (stockHoldingCompany = [enumerator nextObject]) {
NSLog(@"===============================");
NSLog(@"CompanyName:%@",stockHoldingCompany.companyName);
NSLog(@"Purchase Share Price:%.2f",stockHoldingCompany.purchaseSharePrice);
NSLog(@"Current Share Price: %.2f",stockHoldingCompany.currentSharePrice);
NSLog(@"Number of Shares: %i",stockHoldingCompany.numberOfShares);
NSLog(@"Cost in Dollars: %.2f",[stockHoldingCompany costInDollars]);
NSLog(@"Value in Dollars : %.2f",[stockHoldingCompany valueInDollars]);
}
NSLog(@"===============================");
언급URL : https://stackoverflow.com/questions/805547/how-do-i-sort-an-nsmutablearray-with-custom-objects-in-it
'programing' 카테고리의 다른 글
HEAD 및 ORIG_HEAD in Git (0) | 2023.05.12 |
---|---|
VB에 폴더가 없는 경우 폴더를 만들려면 어떻게 해야 합니까? (0) | 2023.05.12 |
Xcode Debugger: 변수 값 보기 (0) | 2023.05.12 |
Postgres "psql이 내부 또는 외부 명령으로 인식되지 않음" (0) | 2023.05.12 |
Azure ASP .net WebApp 요청 시간이 초과되었습니다. (0) | 2023.05.12 |