Search from Array with custom fields Swift
I have an arrays
var searchArray = [(
ean: String,
name: String,
weight: String,
brand: String,
percent: String,
inside: String,
img: String,
packet: String,
date: String)
]()
var searchArrayFiltered = [(
ean: String,
name: String,
weight: String,
brand: String,
percent: String,
inside: String,
img: String,
packet: String,
date: String)
]()
I have a code for search from arrays and show result in table:
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
searchArrayFiltered = searchText.isEmpty ? searchArray : searchArray.filter({(dataString: String) -> Bool in
return dataString.(of: searchText, options: .caseInsensitive) != nil
})
tableView.reloadData()
}
But in line return dataString.String(of: searchText, options: .caseInsensitive) != nil
i have an error:
Value of tuple type '(ean: String, name: String, weight: String,
brand: String, percent: String, inside: String, img: String, packet:
String, date: String)' has no member 'String'
If I change dataString.String to dataString.name, I have an error:
Cannot call value of non-function type 'String'
Please help me to do search from searchArray
for "name".
ios arrays swift search
add a comment |
I have an arrays
var searchArray = [(
ean: String,
name: String,
weight: String,
brand: String,
percent: String,
inside: String,
img: String,
packet: String,
date: String)
]()
var searchArrayFiltered = [(
ean: String,
name: String,
weight: String,
brand: String,
percent: String,
inside: String,
img: String,
packet: String,
date: String)
]()
I have a code for search from arrays and show result in table:
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
searchArrayFiltered = searchText.isEmpty ? searchArray : searchArray.filter({(dataString: String) -> Bool in
return dataString.(of: searchText, options: .caseInsensitive) != nil
})
tableView.reloadData()
}
But in line return dataString.String(of: searchText, options: .caseInsensitive) != nil
i have an error:
Value of tuple type '(ean: String, name: String, weight: String,
brand: String, percent: String, inside: String, img: String, packet:
String, date: String)' has no member 'String'
If I change dataString.String to dataString.name, I have an error:
Cannot call value of non-function type 'String'
Please help me to do search from searchArray
for "name".
ios arrays swift search
add a comment |
I have an arrays
var searchArray = [(
ean: String,
name: String,
weight: String,
brand: String,
percent: String,
inside: String,
img: String,
packet: String,
date: String)
]()
var searchArrayFiltered = [(
ean: String,
name: String,
weight: String,
brand: String,
percent: String,
inside: String,
img: String,
packet: String,
date: String)
]()
I have a code for search from arrays and show result in table:
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
searchArrayFiltered = searchText.isEmpty ? searchArray : searchArray.filter({(dataString: String) -> Bool in
return dataString.(of: searchText, options: .caseInsensitive) != nil
})
tableView.reloadData()
}
But in line return dataString.String(of: searchText, options: .caseInsensitive) != nil
i have an error:
Value of tuple type '(ean: String, name: String, weight: String,
brand: String, percent: String, inside: String, img: String, packet:
String, date: String)' has no member 'String'
If I change dataString.String to dataString.name, I have an error:
Cannot call value of non-function type 'String'
Please help me to do search from searchArray
for "name".
ios arrays swift search
I have an arrays
var searchArray = [(
ean: String,
name: String,
weight: String,
brand: String,
percent: String,
inside: String,
img: String,
packet: String,
date: String)
]()
var searchArrayFiltered = [(
ean: String,
name: String,
weight: String,
brand: String,
percent: String,
inside: String,
img: String,
packet: String,
date: String)
]()
I have a code for search from arrays and show result in table:
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
searchArrayFiltered = searchText.isEmpty ? searchArray : searchArray.filter({(dataString: String) -> Bool in
return dataString.(of: searchText, options: .caseInsensitive) != nil
})
tableView.reloadData()
}
But in line return dataString.String(of: searchText, options: .caseInsensitive) != nil
i have an error:
Value of tuple type '(ean: String, name: String, weight: String,
brand: String, percent: String, inside: String, img: String, packet:
String, date: String)' has no member 'String'
If I change dataString.String to dataString.name, I have an error:
Cannot call value of non-function type 'String'
Please help me to do search from searchArray
for "name".
ios arrays swift search
ios arrays swift search
asked Nov 13 '18 at 11:16
Артем ИльинскийАртем Ильинский
889
889
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
First of all you are discouraged from using a tuple as array type. Use a custom struct or class
Apple says:
Tuples are useful for temporary groups of related values. They’re not suited to the creation of complex data structures. If your data structure is likely to persist beyond a temporary scope, model it as a class or structure, rather than as a tuple.
There are two major issues:
- Copy&Paste mistake, you mean
dataString.range(of...
dataString
is not a string, it's a tuple (the type annotation is redundant)
Change the function to
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
searchArrayFiltered = searchText.isEmpty ? searchArray : searchArray.filter({tuple -> Bool in
return tuple.name.range(of: searchText, options: .caseInsensitive) != nil
})
tableView.reloadData()
}
Thank you very much. I'm always working with javaandroid, and swift for me is Hell.
– Артем Ильинский
Nov 13 '18 at 11:39
add a comment |
create a struct for
struct Model {
var ean: String
var name: String
var weight: String
var brand: String
var percent: String
var inside: String
var img: String
var packet: String
var date: String
}
then apply filter on your [Model]
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53279825%2fsearch-from-array-with-custom-fields-swift%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
First of all you are discouraged from using a tuple as array type. Use a custom struct or class
Apple says:
Tuples are useful for temporary groups of related values. They’re not suited to the creation of complex data structures. If your data structure is likely to persist beyond a temporary scope, model it as a class or structure, rather than as a tuple.
There are two major issues:
- Copy&Paste mistake, you mean
dataString.range(of...
dataString
is not a string, it's a tuple (the type annotation is redundant)
Change the function to
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
searchArrayFiltered = searchText.isEmpty ? searchArray : searchArray.filter({tuple -> Bool in
return tuple.name.range(of: searchText, options: .caseInsensitive) != nil
})
tableView.reloadData()
}
Thank you very much. I'm always working with javaandroid, and swift for me is Hell.
– Артем Ильинский
Nov 13 '18 at 11:39
add a comment |
First of all you are discouraged from using a tuple as array type. Use a custom struct or class
Apple says:
Tuples are useful for temporary groups of related values. They’re not suited to the creation of complex data structures. If your data structure is likely to persist beyond a temporary scope, model it as a class or structure, rather than as a tuple.
There are two major issues:
- Copy&Paste mistake, you mean
dataString.range(of...
dataString
is not a string, it's a tuple (the type annotation is redundant)
Change the function to
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
searchArrayFiltered = searchText.isEmpty ? searchArray : searchArray.filter({tuple -> Bool in
return tuple.name.range(of: searchText, options: .caseInsensitive) != nil
})
tableView.reloadData()
}
Thank you very much. I'm always working with javaandroid, and swift for me is Hell.
– Артем Ильинский
Nov 13 '18 at 11:39
add a comment |
First of all you are discouraged from using a tuple as array type. Use a custom struct or class
Apple says:
Tuples are useful for temporary groups of related values. They’re not suited to the creation of complex data structures. If your data structure is likely to persist beyond a temporary scope, model it as a class or structure, rather than as a tuple.
There are two major issues:
- Copy&Paste mistake, you mean
dataString.range(of...
dataString
is not a string, it's a tuple (the type annotation is redundant)
Change the function to
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
searchArrayFiltered = searchText.isEmpty ? searchArray : searchArray.filter({tuple -> Bool in
return tuple.name.range(of: searchText, options: .caseInsensitive) != nil
})
tableView.reloadData()
}
First of all you are discouraged from using a tuple as array type. Use a custom struct or class
Apple says:
Tuples are useful for temporary groups of related values. They’re not suited to the creation of complex data structures. If your data structure is likely to persist beyond a temporary scope, model it as a class or structure, rather than as a tuple.
There are two major issues:
- Copy&Paste mistake, you mean
dataString.range(of...
dataString
is not a string, it's a tuple (the type annotation is redundant)
Change the function to
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
searchArrayFiltered = searchText.isEmpty ? searchArray : searchArray.filter({tuple -> Bool in
return tuple.name.range(of: searchText, options: .caseInsensitive) != nil
})
tableView.reloadData()
}
answered Nov 13 '18 at 11:27
vadianvadian
146k13157175
146k13157175
Thank you very much. I'm always working with javaandroid, and swift for me is Hell.
– Артем Ильинский
Nov 13 '18 at 11:39
add a comment |
Thank you very much. I'm always working with javaandroid, and swift for me is Hell.
– Артем Ильинский
Nov 13 '18 at 11:39
Thank you very much. I'm always working with javaandroid, and swift for me is Hell.
– Артем Ильинский
Nov 13 '18 at 11:39
Thank you very much. I'm always working with javaandroid, and swift for me is Hell.
– Артем Ильинский
Nov 13 '18 at 11:39
add a comment |
create a struct for
struct Model {
var ean: String
var name: String
var weight: String
var brand: String
var percent: String
var inside: String
var img: String
var packet: String
var date: String
}
then apply filter on your [Model]
add a comment |
create a struct for
struct Model {
var ean: String
var name: String
var weight: String
var brand: String
var percent: String
var inside: String
var img: String
var packet: String
var date: String
}
then apply filter on your [Model]
add a comment |
create a struct for
struct Model {
var ean: String
var name: String
var weight: String
var brand: String
var percent: String
var inside: String
var img: String
var packet: String
var date: String
}
then apply filter on your [Model]
create a struct for
struct Model {
var ean: String
var name: String
var weight: String
var brand: String
var percent: String
var inside: String
var img: String
var packet: String
var date: String
}
then apply filter on your [Model]
answered Nov 13 '18 at 11:31
Viren MalhanViren Malhan
755
755
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53279825%2fsearch-from-array-with-custom-fields-swift%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown