At least with RTF, that seems to be functionality that is generally missing from UIKit. HTML parsing, on the other hand, is already there in WebKit.
The sense I get is that Apple didn't really know what they were doing when they first released the iPhone, didn't actually intend to release an API for it (after all, the initial message to developers was "just build an HTML 5 app") and then rushed one out without properly thinking through its design. And I guess they've been filling the gaps ever sense.
Interesting... I sort of agree. But the strange thing is to start supporting rich text in UIKit controls without providing a sane API for manipulating rich text. That's not problem introduced with v1.0, it's a problem introduced at v6.0.
The problems I run into tend to be quite circumscribed deficiencies that are more like oversights than deep design flaws. I'd attribute that to the pressure to rapidly improve the API rather than the framework never have being thought through (In general, I find UIKit better thought out than AppKit).
Whether it was the official policy or not, I'd imagine that the UIKit team probably wanted UIKit to be an API... Wouldn't a private api that looked like that just be completely over-engineered?
>Whether it was the official policy or not, I'd imagine that the UIKit team probably wanted UIKit to be an API... Wouldn't a private api that looked like that just be completely over-engineered?
Yes probably, but API design is hard, and when the API is for something that big, it's even harder. My gut hypothesis is that Apple didn't initially put anyone with that particular expertise on the team because the people in charge thought HTML5 would be good enough. The people on the team, being UI developers, knew that that was silly and that the API would eventually need to be public, so they made a valiant effort to prepare for the inevitable.
The sense I get is that Apple didn't really know what they were doing when they first released the iPhone, didn't actually intend to release an API for it (after all, the initial message to developers was "just build an HTML 5 app") and then rushed one out without properly thinking through its design. And I guess they've been filling the gaps ever sense.